面向向量化的局部数据重组  被引量:10

Vectorization-oriented Local Data Regrouping

在线阅读下载全文

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

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

出  处:《小型微型计算机系统》2009年第8期1528-1534,共7页Journal of Chinese Computer Systems

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

摘  要:目前,利用微处理器的多媒体扩展对非多媒体程序的向量化已成为提高程序性能的一个重要手段.然而,和多媒体程序相比,非多媒体程序存在大量的非连续和非对齐的数据引用方式,严重影响程序的向量化发掘和向量化性能.提出一种新的向量化方法—基于局部数据重组的向量化技术(.通过改变局部数据的布局,将循环中不连续的数据引用变为连续的数据引用,进而完成对循环的向量化;并对数据引用作对齐分析和对齐优化,从而提高程序的向量化性能.以SPEC CPU2000浮点测试集为例,该方法不仅可以向量化对于ICC编译器无法向量化的程序,而且对这些程序都有很好的性能提升,在当前的测试环境下某些程序性能最高可提高241.6%.At present, non-multimedia program vectorization with multimedia extension has become an important way to improve the program performance. However, compared to multimedia program, there are a large amount of non-adjacent and non-alignment data references in the non-multimedia program, which seriously impede the program vectorized and decrease program vectorization performance. The present paper proposes a novel vetorization method based on data regrouping locally. This method changes non-adjacent data reference to adjacent data reference by data regrouping locally so as to vectorize regrouped loop, and makes alignment analysis and alignment optimization so as to improve program vectorization performance. For SPEC CPU2000 float point test sets, the proposed method can vectorize some program which can' t be vectorized by other compilers such as ICC, and highly improves the performance of some SPEC CPU2000 floating point program hy up to 241.6%.

关 键 词:向量化 数据重组 对齐分析 对齐优化 SIMD 

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

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

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