基于动态规划的自动向量化方法

Auto-Vectorization Method Based on Dynamic Programming

  • 摘要: 由于SLP自动向量化算法使用的启发式策略会丢失一定的向量化机会,本文提出一种基于动态规划的自动向量化方法DPSLP,该方法采用比SLP更加激进的策略在基本块内寻找候选的SIMD指令分组,依据动态规划方程计算指令分组的代价并从众多指令分组中选择最优的分组进行向量化转换.实验结果显示,DPSLP与SLP相比测试程序的运行时间平均减少了8%,静态指令代价平均减少10%,平均向量宽度增加66.4%.

     

    Abstract: 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.

     

/

返回文章
返回