-
题名SIMD自动向量化编译优化概述
被引量:29
- 1
-
-
作者
高伟
赵荣彩
韩林
庞建民
丁锐
-
机构
数学工程与先进计算国家重点实验室(解放军信息工程大学)
-
出处
《软件学报》
EI
CSCD
北大核心
2015年第6期1265-1284,共20页
-
基金
"核高基"国家科技重大专项(2009ZX01036-001-001-2)
-
文摘
SIMD扩展部件是集成到通用处理器中的加速部件,旨在发掘多媒体程序和科学计算程序的数据级并行.首先介绍SIMD扩展部件的背景和研究现状,然后从发掘方法、数据布局、多平台向量化这3个角度介绍了SIMD自动向量化的研究问题、困难和最新研究成果,最后展望了SIMD编译优化未来的研究方向.
-
关键词
simd扩展部件
自动向量化
数据级并行
编译优化
-
Keywords
simd extension
auto-veetorization
data level parallelism
compiling optimization
-
分类号
TP312
[自动化与计算机技术—计算机软件与理论]
-
-
题名向量并行度指导的循环SIMD向量化方法
被引量:5
- 2
-
-
作者
高伟
韩林
赵荣彩
徐金龙
陈超然
-
机构
数学工程与先进计算国家重点实验室(解放军信息工程大学)
防空兵指挥学院
-
出处
《软件学报》
EI
CSCD
北大核心
2017年第4期925-939,共15页
-
基金
"核高基"国家科技重大专项(2009ZX01036)~~
-
文摘
SIMD扩展部件是集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等领域程序的数据级并行.当前,两种基本的向量发掘方法分别是发掘迭代间并行的Loop-based方法和发掘迭代内并行的SLP方法.Loopaware方法是对SLP方法的改进,其思想是:首先,通过循环展开将迭代间并行转换为迭代内并行,使循环体内的同构语句条数足够多;再利用SLP方法进行向量发掘.但当循环展开不合法或者并行度低于向量化因子时,Loop-aware方法无法实现程序向量并行性的发掘.因此提出了向量并行度指导的循环向量化方法,依据迭代间并行度、迭代内并行度和向量化因子构建循环向量化方法选择方案,同时提出了不充分向量化方法发掘并行度低于向量化因子的循环向量并行性,最后,依据向量并行度对生成的向量循环进行展开.经过标准测试集测试,向量并行度指导的循环SIMD向量化方法比Loop-aware方法的识别率提升了107.5%,性能提升了12.1%.
-
关键词
simd扩展部件
向量并行度
Loop-aware
循环展开
-
Keywords
simd extension
degree of simd parallelism
Loop-aware
loop unrolling
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-
-
题名一种改进的控制流SIMD向量化方法
被引量:3
- 3
-
-
作者
高伟
李颖颖
孙回回
李雁冰
赵荣彩
-
机构
数学工程与先进计算国家重点实验室(解放军信息工程大学)
-
出处
《软件学报》
EI
CSCD
北大核心
2017年第8期2046-2063,共18页
-
基金
"核高基"国家科技重大专项(2009ZX01036)~~
-
文摘
SIMD扩展部件是近年来集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等程序的数据级并行.控制依赖给发掘程序中的数据级并行带来了阻碍,当前,无论基于loop-based还是SLP的控制流向量化方法都需要if转换,而没有考虑循环内蕴含的向量并行度,导致生成的向量代码效率较低.此外,不精确的代价模型指导控制流向量化,同样导致生成的向量代码效率较低.为此,提出了改进的控制流SIMD向量化方法.首先,提出了含有控制依赖的循环分布算法,分离循环的可向量化部分和不可向量化部分,同时考虑分布时数据的局部性;其次,提出了一种直接向量化控制流的方法,该方法考虑了基本块间的向量重用;最后,利用精确的代价模型指导超字选择指令和超字条件分支指令的生成.实验结果表明:与现有的控制流向量化方法相比,改进方法生成的向量代码性能提高了24%.
-
关键词
simd扩展部件
控制依赖
数据依赖
循环分布
-
Keywords
simd extension
control dependence
data dependence
loop distribution
-
分类号
TP314
[自动化与计算机技术—计算机软件与理论]
-