Computer Science ›› 2013, Vol. 40 ›› Issue (4): 41-46.

Previous Articles     Next Articles

Evaluation and Analysis of Effects of Auto-vectorization in Typical Compilers

LI Chun-jiang,HUANG Juan-juan,XU Ying,DU Yun-fei and CHEN Juan   

  • Online:2018-11-16 Published:2018-11-16

Abstract: SIMD(Single-Instruction-Multiple-Data) architecture plays an important role in the architecture of modern processors.Also,it is supported in multiple types of homemade high performance general purpose processors.For exploiting the data-parallel performance potentials of the short vector processing ability presented by the SIMD architecture,the auto-vectorization of compilers is one of the main means for improving the performance of applications.Evaluating the effects of auto-vectorization in typical compilers using mature commercial general purpose processor with SIMD support,is beneficial both to processor architecture design and to compiler analysis and design.We evaluated the effects of auto-vectorization in the typical compilers (including Intel compiler,PGI compiler and GCC compiler) with the stan-dard benchmarks SPECCPU2006and SPECOMPM2001.Then taking the open source product level GCC compiler as the target,we thoroughly evaluated the effects of auto-vectori-zation in GCC with hand-coded program segments (mainly multiple types of loops),and we analyzed the ability and limitations of the current implementations of the auto-vectori-zation in GCC.Our work provides a valuable contribution for the research and development of auto-vectorization in compilers.

Key words: Auto-vectorization,Typical compilers,GCC,Evaluation and analysis

[1] Maruyama T,Motokurumada T,Morita K,et al.Past,Present and Futures of SPARC64Processors[J].FUJITSU Sci.Tech.J., 2011,47(2):130-135
[2] Firasta N,Buxton M,Jinbo P,et al.Intel AVX:New Frontiersin Performance Improvements and Energy Efficiency[M].Intel white paper,2008
[3] Intel.SSE4 Programming Reference[M].Intel Corporation,2009
[4] Intel compilers.http://software.intel.com/en-us/arti-cles/intel-compilers/
[5] PGI Compilers.http://www.pgroup.com/
[6] Gnu Compiler Collection.http://gcc.gnu.org
[7] An Introduction to the Intel QuickPath Interconnect[M].Intel Corporation,January 2009
[8] Manchanda N,Anand K.Non-Uniform Memory Access (NU-MA).http://cs.nyu.edu/~lerner/spring10/projects/NUMA.pdf,2012
[9] Intel64 and IA-32 Architectures Software Developer’s ManualCombined Volumes:1,2A,2B,3A and 3B[M].Intel Corporation,May 2011
[10] The GNU General Public License.http://www.gnu.org/licenses/ licenses.html#GPL
[11] Naishlos D.Autovectorization in GCC[C]∥Proceedings of the GCC Developers’ Summit.Ottawa,Ontario Cana-da,June 2004
[12] Nuzman D,Zaks A.Autovectorization in GCC—two years later[C]∥Proceedings of the GCC Developers’ Summit.Ottawa,Ontario,Canada,June 2006
[13] Nuzman D,Henderson R.Multi-platform Auto-vectorization[C]∥Proc.of the 4th Annual International Symposium on Code Generation and Optimization (CGO).March 2006
[14] Larsen S.Exploiting Superword Level Parallelism with Multimedia Instruction Sets[D].Massachusetts Institute of Techno-logy,May 2000
[15] Larsen S.Compilation Techniques for Short-Vector Instructions[D].Massachusetts Institute of Technology,April 2006
[16] Calder B,Feller P,Eustace A.Value profiling[C]∥30th International Symposium on Microarchitecture.December 1997
[17] Sassa M.Static Single Assignment Form.Tokyo Institute ofTechnology.http://www.is.titech.ac.jp/~sassa/coins-www-ssa/english/ssa-lecture-80.pdf
[18] GRAPHITE:Polyhedral Analyses and Optimizations for GCC [C]∥Proc.of GCC Summit 2006.Ottawa,Ontario,Canada,June 2006
[19] Benabderrahmane M-W,Pouchet L-N,Cohen A,et al.The Polyhedral Model Is More Widely Applicable Than You Think[C]∥Compiler Construction.Lecture Notes in Computer Science,Volu-me 6011,2010:283-303
[20] Cloog.http://www.cloog.org/
[21] Bagnara R,Hill P M,Zaffanella E,et al.The Parma Polyhedra Library User’s Manual,version 0.12.1[M].April 2012

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!