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

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

在线阅读下载全文

作  者:李春江[1] 黄娟娟[1] 徐颖[1] 杜云飞[1] 陈娟[1] 

机构地区:[1]国防科学技术大学计算机学院计算机研究所,长沙410073

出  处:《计算机科学》2013年第4期41-46,共6页Computer Science

基  金:国家自然科学基金项目(61170046;61103014)资助

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

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

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

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

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