P扩展的向量化优化方法及装置制造方法及图纸

技术编号:37459764 阅读:9 留言:0更新日期:2023-05-06 09:32
本申请提供一种P扩展的向量化优化方法及装置,方法包括:对目标循环结构进行P扩展的向量化可行性分析,得到所述目标循环结构的向量化可行性分析结果;基于所述向量化可行性分析结果,对所述目标循环结构进行至少一次P扩展的向量化,得到所述目标循环结构的P扩展中间表示;基于所述目标循环结构的P扩展中间表示进行指令选择,得到所述目标循环结构的P指令汇编。本申请通过向量化将标量数据调整为向量数据,有助于减小二进制编码文件大小。同时,提升了处理大量向量数据时RISC

【技术实现步骤摘要】
P扩展的向量化优化方法及装置


[0001]本申请涉及计算机
,尤其涉及一种P扩展的向量化优化方法及装置。

技术介绍

[0002]按照RISC

V指令集的设计,其扩展分为基础指令和扩展指令,基础指令是必须实现的,扩展指令则可根据需求进行定制。其中,P扩展(Packed

SIMD Instructions)通过加速计算,用多媒体指令集来增强处理器的算法处理能力,以更低的功耗和更加高的性能运行应用程序。
[0003]然而,现有的P扩展在处理大量的向量数据时,需要处理器相对较长的执行时间,不能发挥出处理器最好性能,同时也不能很好的优化程序的代码段和数据段大小。

技术实现思路

[0004]本申请提供一种P扩展的向量化优化方法及装置,用以解决现有技术中二进制指令编码文件过大以及处理向量数据时RISC

V架构下处理器P扩展执行效率低下的缺陷,有助于减小二进制编码文件大小并提升处理器的执行效率。
[0005]本申请提供一种P扩展的向量化优化方法,包括:
[0006]对目标循环结构进行P扩展的向量化可行性分析,得到所述目标循环结构的向量化可行性分析结果;
[0007]基于所述向量化可行性分析结果,对所述目标循环结构进行至少一次P扩展的向量化,得到所述目标循环结构的P扩展中间表示;
[0008]基于所述目标循环结构的P扩展中间表示进行指令选择,得到所述目标循环结构的P指令汇编。
[0009]根据本申请提供的一种P扩展的向量化优化方法,所述对目标循环结构进行P扩展的向量化可行性分析,得到所述目标循环结构的向量化可行性分析结果,包括:
[0010]获取所述目标循环结构运行环境中的标量寄存器信息、所述目标循环结构的循环特性和所述目标循环结构的P扩展向量化特征;
[0011]基于所述标量寄存器信息、所述循环特性和P扩展向量化特征,得到所述目标循环结构的向量化可行性分析结果。
[0012]根据本申请提供的一种P扩展的向量化优化方法,所述基于所述向量化可行性分析结果,对所述目标循环结构进行至少一次P扩展向量化,得到所述目标循环结构的P扩展中间表示,包括:
[0013]在所述向量化可行性分析结果为可向量化的情况下,对所述目标循环结构进行一次P扩展向量化,得到中间表示循环结构;
[0014]对所述中间表示循环结构进行标准化,并对标准化后的中间表示循环结构进行P扩展的向量化可行性分析,得到新的向量化可行性分析结果;
[0015]在所述新的向量化可行性分析结果为可向量化的情况下,对所述标准化后的中间
表示循环结构进行至少一次P扩展向量化,直至出现P扩展向量化后得到的新的中间表示循环结构中没有可向量化数据,确定所述新的中间表示循环结构为所述目标循环结构的P扩展中间表示。
[0016]根据本申请提供的一种P扩展的向量化优化方法,所述对所述目标循环结构进行一次P扩展向量化,得到中间表示循环结构,包括:
[0017]对所述目标循环结构进行逐语句的P扩展的向量化;
[0018]基于每个语句的P扩展向量化结果,确定每个语句的性能开销;
[0019]将所述性能开销小于第一阈值的语句确定为所述中间表示循环结构的中间表示语句。
[0020]根据本申请提供的一种P扩展的向量化优化方法,所述基于每个语句的P扩展向量化结果,确定每个语句的性能开销,包括:
[0021]基于所述每个语句的P扩展向量化结果,得到所述每个语句的P扩展的循环展开次数和所述每个语句对所述标量寄存器的占用数量;
[0022]基于所述P扩展的循环展开次数和所述标量寄存器的占用数量,确定每个语句的性能开销。
[0023]根据本申请提供的一种P扩展的向量化优化方法,所述基于所述目标循环结构的P扩展中间表示进行指令选择,得到所述目标循环结构的P指令汇编,包括:
[0024]基于所述目标循环结构的P扩展中间表示进行逐语句的语义分析,并根据语义分析结果与P指令汇编库进行匹配;
[0025]得到每条P扩展中间表示语句匹配的P指令汇编语句。
[0026]本申请还提供一种P扩展的向量化优化装置,包括:
[0027]可行性分析模块,用于对目标循环结构进行P扩展的向量化可行性分析,得到所述目标循环结构的向量化可行性分析结果;
[0028]向量化模块,用于基于所述向量化可行性分析结果,对所述目标循环结构进行至少一次P扩展的向量化,得到所述目标循环结构的P扩展中间表示;
[0029]指令选择模块,用于基于所述目标循环结构的P扩展中间表示进行指令选择,得到所述目标循环结构的P指令汇编。
[0030]本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述P扩展的向量化优化方法的步骤。
[0031]本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述P扩展的向量化优化方法的步骤。
[0032]本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述P扩展的向量化优化方法的步骤。
[0033]本申请提供的一种向量化优化方法及装置,针对RISC

V的特点,通过专门设计的针对P扩展的向量化可行性分析,以及进行的多次P扩展的向量化,能够实现对于目标循环结构的P扩展指令向量化的优化,实现了对数据及指令的优化,达到了并行加速执行的效果。本申请通过向量化将标量数据调整为向量数据,有助于减小二进制编码文件大小。同时,提升了处理大量向量数据时RISC

V处理器执行效率。
附图说明
[0034]为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1是本申请实施例提供的P扩展的向量化优化方法的流程示意图;
[0036]图2是本申请实施例提供的编译器针对RISC

V P扩展Intrinsic指令的向量化架构示意图;
[0037]图3是本申请实施例提供的P扩展向量化分析Pass执行和P扩展向量化Pass执行的流程示意图;
[0038]图4是本申请实施例提供的P扩展自动向量化Pass执行和P扩展指令选择的流程示意图;
[0039]图5是本申请实施例提供的P扩展的向量化优化装置的结构示意图;
[0040]图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0041]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种P扩展的向量化优化方法,其特征在于,包括:对目标循环结构进行P扩展的向量化可行性分析,得到所述目标循环结构的向量化可行性分析结果;基于所述向量化可行性分析结果,对所述目标循环结构进行至少一次P扩展的向量化,得到所述目标循环结构的P扩展中间表示;基于所述目标循环结构的P扩展中间表示进行指令选择,得到所述目标循环结构的P指令汇编。2.根据权利要求1所述的P扩展的向量化优化方法,其特征在于,所述对目标循环结构进行P扩展的向量化可行性分析,得到所述目标循环结构的向量化可行性分析结果,包括:获取所述目标循环结构的运行环境中的标量寄存器信息、所述目标循环结构的循环特性和所述目标循环结构的P扩展向量化特征;基于所述标量寄存器信息、所述循环特性和所述P扩展向量化特征,得到所述目标循环结构的向量化可行性分析结果。3.根据权利要求1或2所述的P扩展的向量化优化方法,其特征在于,所述基于所述向量化可行性分析结果,对所述目标循环结构进行至少一次P扩展向量化,得到所述目标循环结构的P扩展中间表示,包括:在所述向量化可行性分析结果为可向量化的情况下,对所述目标循环结构进行一次P扩展向量化,得到中间表示循环结构;对所述中间表示循环结构进行标准化,并对标准化后的中间表示循环结构进行P扩展的向量化可行性分析,得到新的向量化可行性分析结果;在所述新的向量化可行性分析结果为可向量化的情况下,对所述标准化后的中间表示循环结构进行至少一次P扩展向量化,直至出现P扩展向量化后得到的新的中间表示循环结构中没有可向量化数据,确定所述新的中间表示循环结构为所述目标循环结构的P扩展中间表示。4.根据权利要求3所述的P扩展的向量化优化方法,其特征在于,所述对所述目标循环结构进行一次P扩展向量化,得到中间表示循环结构,包括:对所述目标循环结构进行逐语句的P扩展向量化;基于每个语句的P扩展向量化的结果,确定每个语句的性能开销;将...

【专利技术属性】
技术研发人员:陈一周乃彪王全操伟业陈浩王云王宝兴蒋科王海江陈健
申请(专利权)人:北京奕斯伟计算技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1