面向非多媒体程序的SIMD向量化算法的研究及改进  被引量:6

Research and Improvement of SIMD Vecotrization Algorithms on Non-multimedia Applications

在线阅读下载全文

作  者:李玉祥[1,2] 施慧[2] 陈莉[2] 

机构地区:[1]中国科学技术大学计算机科学技术系,安徽合肥230027 [2]中国科学院计算机系统结构重点实验室,北京100190

出  处:《小型微型计算机系统》2009年第10期1927-1935,共9页Journal of Chinese Computer Systems

基  金:国家"八六三"高技术研究发展计划项目(2007AA01Z110)资助;国家"九七三"重点基础研究发展规划(2005CB321602)资助

摘  要:利用微处理器的多媒体扩展对非多媒体程序的向量化已成为提高程序性能的一个重要手段,然而目前几乎所有的商业编译器对非多媒体程序的向量化的结果,都无法说明其编译器有效的向量能力.本文通过分析典型的非多媒体程序--SPECCPU2000浮点程序,归纳出非多媒体程序的SIMD向量化特征,并依此提出局部数据重组的向量化方法、针对外层循环的向量化方法、部分语句SLP的向量化方法几种新的向量化方法和相关的向量化优化技术.通过对比Intel编译器对SPECCPU2000的向量化性能测试,可以发现本文提出的改进方法有效的提高了程序的向量化.At present, non-multimedia programs vectorization for multimedia extension has become an important way to improve the program performance. However, almost all the commercial compilers have not yet demonstrated their effectiveness to vector non-multimedia program. In this paper, we conducted an empirical study on the vectorization of non-multimedia applications. Our study identiffed several issues that are not vectored by compiler, and proposed several techniques to vector kernels corresponding with the issues. Furthermore, this paper proposed several method to improve the performance of kernels which have been vectored completely or par- tially, and then summarized some optimization techniques after vecotorizaiton. Finally, testing the kernels in SPEC CPU2000 float point test sets by the manually intrinsic code, our methods have improved the capability of SIMD vectorization compared with Intel compiler.

关 键 词:向量化 数据重组 SIMD 外层循环的向量化 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象