摘要
由于SLP自动向量化算法使用的启发式策略会丢失一定的向量化机会,本文提出一种基于动态规划的自动向量化方法DPSLP,该方法采用比SLP更加激进的策略在基本块内寻找候选的SIMD指令分组,依据动态规划方程计算指令分组的代价并从众多指令分组中选择最优的分组进行向量化转换.实验结果显示,DPSLP与SLP相比测试程序的运行时间平均减少了8%,静态指令代价平均减少10%,平均向量宽度增加66.4%.
As SLP(super-word level parallelism)auto-vectorization algorithm will lose some vectorization opportunities by using heuristic strategy,an auto-vectorization method named DPSLP that based on dynamic programming was proposed in this paper.In this method,the candidate statement groups were searched for SIMD(single instruction multiple data)instruction by using more aggressive strategy than SLP,and the optimal statement groups were selected to vectorize according to the cost of which calculated by dynamic programming formula.Experimental result show that DPSLP achieves on average a total decrease of 8% in execution time,10%in static instruction cost and increase of 66.4%in vector width,compared with SLP.
出处
《北京理工大学学报》
EI
CAS
CSCD
北大核心
2017年第5期544-550,共7页
Transactions of Beijing Institute of Technology
基金
国家部委重大专项基金资助项目(2014ZX01020-003)
国家自然科学基金资助项目(61136002)
关键词
自动向量化
动态规划
指令代价
auto-vectorization
dynamic programming
instruction cost