计算机科学 ›› 2014, Vol. 41 ›› Issue (11): 16-21.doi: 10.11896/j.issn.1002-137X.2014.11.004
赵博,赵荣彩,李雁冰,高伟
ZHAO Bo,ZHAO Rong-cai,LI Yan-bing and GAO Wei
摘要: 多媒体技术的迅速发展使得越来越多的处理器集成了SIMD扩展,当前的编译器大多数都已实现了自动向量化功能。为了发掘迭代内并行,一些编译器在自动向量化模块中引入了SLP向量化方法。多媒体数据的密集存储和规则运算使得在处理多媒体数据时需要进行频繁的数据类型转换,而目前的SLP向量化方法对数据类型转换的处理能力还不完善。为了在存在大量数据类型转换语句的程序中发掘更多的SLP向量化机会,提出了一种类型转换语句的SLP发掘方法,它能够在SLP向量化框架下利用数据重组实现具有相同向量化因子和不同向量化因子的数据类型之间的转换。实验结果表明,该方法能够有效地对类型转换语句进行SLP向量化发掘,提高了程序的向量化执行效率。
[1] Allen J R,Kennedy K.Automatic Transformation of FortranPrograms to Vector Form[J].ACM Transactions on Programming Languages and Systems,1987(4):491-542 [2] Zima H,Chapman B.Supercompilers for Parallel and VectorComputers[M].ACMPress,1990 [3] Larsen S,Amarasinghe S.Exploiting superword level parallelism with multimedia instruction sets[J].Proceeding of the ACM SIGPLAN Conference on Programming Language Design and Implementation,2000,35(5):145-156 [4] Rosen I,Nuzman D,Zaks A.Loop-Aware SLP in GCC[C]∥Proceedings of the GCC Developers’ Summit.Ottawa,Ontario,Canada,2007 [5] Dai Y,Li Q,Zhang Q.SIMD-Efficient Loop Unrolling Design for Embedded Multimedia Applications[C]∥IEEE International Conference on Multimedia and Expo.2004:1851-1854 [6] Wei Shuai,Zhao Rong-cai,Yao Yuan.Loop-Nest Auto-Vecto-rization Based on SLP[J].Journal of Software,2012,23(7) [7] Nuzman D,Rosen I,Zaks A.Auto-vectorization of interleaveddata for SIMD[C]∥PLDI.2006 [8] Nuzman D,Zaks A.Outer-loop vectorization-revisited for short SIMD architectures[C]∥PACT.2008 [9] Barik R,Zhao J,Sarkar V.Efficient selection of vector instructions using dynamic programming[C]∥MICRO.2010 [10] Liu Jun,Zhang Yuan-rui,Ohyoung Jang,et al.A compilerFramework for Extracting Superword Level Parallelism[C]∥PLDI’12.Beijing,China,2012 [11] Wu Peng,Eichenberger A E,Wang A.Efficient SIMD CodeGeneration for Runtime Alignment and Length Conversion[C]∥CGO.2005 [12] Mi Wei,Li Yu-xiang,Chen li,et al.A Source to Source Translation Method with Type Restoration ib a Compiler[J].Journal of Computer Research and Development,2010(7):1145-1155 |
No related articles found! |
|