-
题名面向SLP的多重循环向量化
被引量:13
- 1
-
-
作者
魏帅
赵荣彩
姚远
-
机构
解放军信息工程大学信息工程学院
-
出处
《软件学报》
EI
CSCD
北大核心
2012年第7期1717-1728,共12页
-
基金
国家高技术研究发展计划(863)(2009AA012201)
"核高基"国家科技重大专项(2009ZX01036)
-
文摘
如今,越来越多的处理器集成了SIMD(single instruction multiple data)扩展,现有的编译器大多也实现了自动向量化的功能,但是一般都只针对最内层循环进行向量化,对于多重循环缺少一种通用、易行的向量化方法.为此,提出了一种面向SLP(superword level parallelism)的多重循环向量化方法,从外至内依次对各个循环层次进行分析,收集各层循环对应的一些影响向量化效果的属性值,主要包括能否对该循环进行直接循环展开和压紧、有多少数组引用相对于该循环索引连续以及该循环所包含的区域等,然后根据这些属性值决定在哪些循环层次进行直接循环展开和压紧,最后通过SLP对循环中的语句进行向量化.实验结果表明,该算法相对于内层循环向量化和简单的外层循环向量化平均加速比提升了2.13和1.41,对于一些常用的核心循环可以得到高达5.3的加速比.
-
关键词
SIMD
向量化
依赖关系分析
多重循环
超字并行
-
Keywords
SIMD (single instruction multiple data)
vectorization
data dependence analysis
nested loop
slp(superword level parallelism)
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名一种基于剪切的SLP向量化方法
- 2
-
-
作者
李颖颖
奚慧兴
高伟
李伟
翟胜伟
-
机构
信息工程大学
数学工程与先进计算国家重点实验室
鞍山师范学院
中国电子科技集团公司第二十七研究所
-
出处
《计算机应用研究》
CSCD
北大核心
2018年第9期2578-2582,共5页
-
基金
国家自然科学基金资助项目(61472447)
国家"863"计划资助项目(2014AA01A300)
国家"核高基"重大专项资助项目(2013ZX0102-8001-001-001)
-
文摘
作为多媒体和科学计算等领域重要的程序加速器件之一,SIMD扩展部件现已广泛集成于各类处理器中。自动向量化方法是目前生成SIMD向量化程序的重要手段。超字并行SLP(superword level parallelism)方法现已广泛应用于编译器中,并成为实现基本块级代码向量化的主要手段。SLP在进行收益评估时仅考虑代码段整体向量化的收益,并没有考虑到向量化收益为负的片段会降低最终整体的向量化收益,从而导致SLP方法无法达到最好的向量化效果。基于此,提出了一种基于剪切的SLP向量化方法(throttling SLP,TSLP)。通过寻找最优的向量化子图,去除了向量化收益为负的代码段,从而可以获得更好的向量化效果。通过标准测试程序的实验结果表明,与原来的SLP方法相比,TSLP方法平均能够获得9%的性能提升。
-
关键词
单指令多数据扩展部件
自动向量化
超字并行
代价模型
-
Keywords
SIMD extension
auto-vectorization
superword level parallelism(slp)
cost model
-
分类号
TP301.6
[自动化与计算机技术—计算机系统结构]
-
-
题名基于多种同构化变换的SLP向量化方法
被引量:1
- 3
-
-
作者
冯竞舸
贺也平
陶秋铭
马恒太
-
机构
基础软件国家工程研究中心(中国科学院软件研究所)
计算机科学国家重点实验室(中国科学院软件研究所)
-
出处
《计算机研究与发展》
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
[自动化与计算机技术—计算机软件与理论]
-
-
题名分段约束的超字并行向量发掘路径优化算法
被引量:11
- 4
-
-
作者
徐金龙
赵荣彩
韩林
-
机构
数学工程与先进计算国家重点实验室(信息工程大学)
-
出处
《计算机应用》
CSCD
北大核心
2015年第4期950-955,共6页
-
基金
国家科技重大专项(2009zx10036-001-001)
国家863计划项目(2009AA01220)
-
文摘
超字并行(SLP)是一种针对基本块的向量并行发掘方法,结合循环展开可以发掘更多的并行性,但同时也会产生过多的发掘路径。针对上述问题,提出了一种分段约束的SLP发掘路径优化算法;采用分段的冗余删除方法,来保证冗余删除后段的同构性。采用段间的SLP发掘,来约束发掘路径;最后进行pack调整来处理访存重叠的情况。实验结果表明,该方法有效增强了SLP向量化功能,对于测试程序,向量化的平均加速比接近2。
-
关键词
向量化
超字并行
循环展开
同构
冗余删除
-
Keywords
vectorization
superword level parallelism(slp)
loop unrolling
isomorphism
redundant elimination
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-
-
题名新型超字级并行改进算法
- 5
-
-
作者
张素平
韩林
丁丽丽
王鹏翔
-
机构
数学工程与先进计算国家重点实验室(信息工程大学)
-
出处
《计算机应用》
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
[自动化与计算机技术—计算机软件与理论]
-