-
题名新型超字级并行改进算法
- 1
-
-
作者
张素平
韩林
丁丽丽
王鹏翔
-
机构
数学工程与先进计算国家重点实验室(信息工程大学)
-
出处
《计算机应用》
CSCD
北大核心
2017年第2期450-456,462,共8页
-
基金
"核高基"国家科技重大专项(2009ZX01036-001-001-2)~~
-
文摘
对于超字级并行(SLP)算法不能有效地处理大型程序中并行代码率较小,且可向量化的代码中可能存在对向量化不利的代码的问题,提出了一种新型的SLP改进算法NSLPO。首先,将程序中不能向量化的非同构语句进行同构化处理,定位SLP丢失的向量化机会;然后,通过冗余节点添加构建最大通用子图,通过冗余删除等优化过程得到同构化之后的补充SLP图,提高程序中代码的并行性;最后,运用节流法将对向量化有害的代码摒除在向量化之外,仅对它们进行标量处理,通过只向量化处理那些向量化有收益的代码以尽可能地提升程序效率。在一组广泛使用的内核测试集中进行实验,结果显示,与SLP算法相比,NSLPO算法性能更优,其执行时间比SLP平均减少9.1%。
-
关键词
同构
节流法
向量化
超字级并行
补充图
-
Keywords
isomorphism
cutting method
vectorization
Superword Level Parallelism (SLP)
supplement diagram
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于多种同构化变换的SLP向量化方法
- 2
-
-
作者
冯竞舸
贺也平
陶秋铭
马恒太
-
机构
基础软件国家工程研究中心(中国科学院软件研究所)
计算机科学国家重点实验室(中国科学院软件研究所)
-
出处
《计算机研究与发展》
EI
CSCD
北大核心
2023年第12期2907-2927,共21页
-
基金
中国科学院战略性先导科技专项(XDA-Y01-01,XDC02010600)。
-
文摘
超字级并行(superword level parallelism,SLP)是一种面向处理器单指令多数据(single instruction multiple data,SIMD)扩展部件实现程序自动向量化的方法,这种方法被广泛应用于主流编译器中.SLP方法有赖于先找到同构指令序列再对之进行自动向量化.将非同构指令序列等价转为同构指令序列以扩展SLP方法的适用范围是当前研究趋势之一.提出SLP的一种扩展方法──SLP-M向量化方法,引入二元表达式替换同构转换方式,基于条件判断和收益计算的选择,利用多种指令序列同构化转换,将满足特定条件的非同构指令序列转换为同构指令序列,再进一步实施自动向量化,从而提升SLP的适用范围和收益.在LLVM中实现了SLP-M方法,并利用SPEC CPU 2017等标准测试集进行了测试评估.实验结果表明,SLPM方法相比于已有方法在核心函数测试中性能提升了21.8%,在基准测试程序整体测试中性能提升了4.1%.
-
关键词
SIMD扩展
自动向量化
超字级并行
非同构指令序列
同构化变换
-
Keywords
SIMD extension
auto-vectorization
superword level parallelism(SLP)
sequence of non-isomorphism instructions
isomorphic transformation
-
分类号
TP312
[自动化与计算机技术—计算机软件与理论]
-
-
题名GCC非满载SLP向量化
- 3
-
-
作者
刘浩浩
韩林
崔平非
-
机构
中原工学院前沿信息技术研究院
-
出处
《计算机系统应用》
2022年第9期265-271,共7页
-
文摘
随着向量长度的不断增长, SIMD扩展部件得以处理更为庞大的数据级并行,但程序的并行阈值也随之提高.对于现有的自动向量化编译器,如果在分析阶段不能从串行代码中发掘出足够的数据级并行以完全填充向量寄存器,则不会进入相应的向量代码变换阶段,从而无法向量化.较长的向量长度使得某些并行性不足的程序失去了向量化的机会,造成了性能下降.为了更加充分的利用SIMD部件,介绍了一种面向基本块的非满载向量化方法ISLP.基于开源GCC编译器,从并行性检测、代码生成和代价模型3个方面详细阐述了ISLP的设计与实现.在标准测试集上的实验结果表明,该方法可以有效地对超字级并行性不足的程序进行向量化处理,提高程序执行效率.选取的测试用例在向量化后的平均加速比达到1.14,性能较常规SLP方法提升11.8%.
-
关键词
GCC
SIMD扩展
非满载向量化
超字级并行性
代码生成
SLP
-
Keywords
GNU compiler collection(GCC)
SIMD extension
insufficient vectorization
superword level parallelism
code generation
SLP
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-