Computer Science ›› 2015, Vol. 42 ›› Issue (5): 194-199.doi: 10.11896/j.issn.1002-137X.2015.05.039

Previous Articles     Next Articles

Effective Vectorization Technique for Interleaved Data with Constant Strides

LI Peng-yuan, ZHAO Rong-cai, GAO Wei and ZHANG Qing-hua   

  • Online:2018-11-14 Published:2018-11-14

Abstract: Due to the development of the SIMD extensions in general processors,automatic vectorizing compilers are widely used in various fields,especially in scientific and engineering computing area.Conventional vectorizing compilers can parallelize applications with continuous access successfully,but most irregular multimedia applications which access interleaved data cannot be vectorized correctly.To address this issue,this paper presented an effective vectorization technique for interleaved data with constant strides.We achieved any form of data regroupings with the help of the data processing instructions provided by targeted platforms.As a result,programs with interleaved data access are vectorized and vector codes are generated.The experimental results show that the proposed method can translate irregular applications with interleaved data access into high-performance targeted vectorized codes,thereby advancing the execution efficiency adequately.

Key words: Code generation,Stride access,Vectorization,Data regrouping

[1] Hassaballah M,Omran S,Mahdy Y B.A review of SIMD multimedia extensions and their usage in scientific and engineering applications[J].The Computer Journal,2008,51(6):630-649
[2] Allen R,Kennedy K.Automatic translation of Fortran programs to vector form[J].ACM Transactions on Programming Languages and Systems (TOPLAS),1987,9(4):491-542
[3] Zima H,Chapman B.Supercompilers for parallel and vectorcomputers[M].ACM,1990
[4] Larsen S,Amarasinghe S.Exploiting superword level parallelism with multimedia instruction sets[M].ACM,2000
[5] Griffith A.GCC:the complete reference[M].McGraw-Hill,lnc.,2002
[6] Lattner C,Adve V.The LLVM compiler framework and infrastructure tutorial[M]∥Languages and Compilers for High Performance Computing.Springer Berlin Heidelberg,2005:15-16
[7] Lin M,Yu Z,Zhang D,et al.Retargeting the open64 compiler to powerpc processor[C]∥International Conference on Embedded Software and Systems Symposia,2008(ICESS Symposia’08).IEEE,2008:152-157
[8] Naishlos D.Autovectorization in GCC[C]∥Proceedings of the 2004 GCC Developers Summit.2004:105-118
[9] Nuzman D,Zaks A.Autovectorization in GCC-two years later[C]∥Proceedings of the 2006 GCC Developers Summit.2006:145-158
[10] Nuzman D,Henderson R.Multi-platform auto-vectorization[C]∥Proceedings of the International Symposium on Code Generation and Optimization.IEEE Computer Society,2006:281-294
[11] Tanaka H,Ota Y,Matsumoto N,et al.A new compilation technique for SIMD code generation across basic block boundaries[C]∥Proceedings of the 2010 Asia and South Pacific Design Automation Conference.IEEE Press,2010:101-106
[12] Bastoul C.Code generation in the polyhedral model is easier than you think[C]∥Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques.IEEE Computer Society,2004:7-16
[13] Ramanarayanan R,Gupta M,Chakraborty S S,et al.Harnessing partial vectorization in Open64 compiler[C]∥2014 IEEE International Advance Computing Conference (IACC).IEEE,2014:813-824
[14] 魏帅,赵荣彩,姚远.面向国产 CPUSW-1600 的向量重组[J].计算机应用与软件,2012,28(11):230-233
[15] Wu P,Eichenberger A E,Wang A.Efficient simd code generation for runtime alignment and length conversion[C]∥International Symposium on Code Generation and Optimization,2005(CGO 2005).IEEE,2005:153-164
[16] Allen R,Kennedy K.Optimizing compilers for modern architectures:a dependence-based approach[M].San Francisco:Morgan Kaufmann,2002
[17] Leupers R.Code selection for media processors with SIMD instructions[C]∥Proceedings of the Conference on Design,Automation and Test in Europe.ACM,2000:4-8
[18] Sreraman N,Govindarajan R.A vectorizing compiler for multimedia extensions[J].International Journal of Parallel Programming,2000,28(4):363-400

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!