计算机科学 ›› 2013, Vol. 40 ›› Issue (4): 41-46.

• 2012多值逻辑专栏 • 上一篇    下一篇

典型编译器自动向量化效果评估与分析

李春江,黄娟娟,徐颖,杜云飞,陈娟   

  1. 国防科学技术大学计算机学院计算机研究所长沙410073;国防科学技术大学计算机学院计算机研究所长沙410073;国防科学技术大学计算机学院计算机研究所长沙410073;国防科学技术大学计算机学院计算机研究所长沙410073;国防科学技术大学计算机学院计算机研究所长沙410073
  • 出版日期:2018-11-16 发布日期:2018-11-16
  • 基金资助:
    本文受国家自然科学基金项目(61170046,61103014)资助

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

摘要: SIMD(Single-Instruction-Multiple-Data)体系结构在现代处理器体系结构中扮演重要的角色。多种国产高性能通用处理器也大都实现了SIMD结构。SIMD体系结构提供了短向量数据并行处理能力,编译器自动向量化是应用程序获得性能提升的主要手段之一。使用成熟的支持SIMD的商用处理器平台评估典型编译器自动向量化的效果,对于处理器体系结构的设计以及编译器的分析和设计非常有益。采用SPECCPU2006和SPECOMPM2001基准测试程序,评估了典型编译器(包括Intel编译器、PGI编译器和GCC编译器)的自动向量化的效果。并且以产品级的开源编译器GCC为目标,用手工编写的程序片段(主要是多种类型的循环结构)评估了当前GCC编译器自动向量化的效果,并深入分析了GCC编译器中现有的自动向量化的能力和局限。此项工作为进一步研发高效的编译器自动向量化提供了有价值的参考。

关键词: 自动向量化,典型编译器,GCC,评估与分析

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!