摘要
向量程序来源于手工编写或由编译器自动生成。受限于编程人员和并行编译器的能力,得到的向量程序都存在一定的优化空间。优化编译器通常关注如何将串行程序向量化,但很少对向量程序进行优化。因此,提出了一种针对SIMD代码的向量访存优化方法。该方法首先分析程序是否需要优化,若存在需求,则对程序同时进行深度冗余优化和对齐优化。实验数据显示,提出的方法可以明显提高程序的运行效率,达到了目标。
There are two ways to get vector program,one is handwritten,and the other is generated automatically by the compiler. Limited to programmers and parallel compiler' ability,there always is some optimization space in vector pro- gram. The optimizing compiler concernes most about how to transform the serial program into vector form, rarely do further optimization after the vector form generating. We proposed a memory access optimization method for vector program of SIMI) form. Firstly it determines that whether the program needs to be optimized. If optimization is needed, redundancy optimization and align optimization will be implemented for the vector form program. Experimental data show that the proposed method can significantly improve the running efficiency of the program, and the goal is achieved.
出处
《计算机科学》
CSCD
北大核心
2015年第12期18-22,共5页
Computer Science
基金
国家高技术研究发展计划(863)(2009AA01220)
"核高基"重大专项(2009zx10036-001-001)资助
关键词
向量化
SIMD
访存冗余
对齐优化
Vectorization, Single instruction multiple data, Memory access redundant, Alignment optimization