摘要
自动向量化技术是一种针对单指令多数据(SIMD)向量化计算单元的并行编译优化技术,它能够自动将源程序中多个相同标量操作合并为一个向量操作,从而提升系统吞吐量。随着SIMD向量化计算单元的广泛应用,自动向量化技术已经成为学术界和商业界的研究热点。针对现有自动向量化技术可向量化模块识别难、向量化优化方案选择难、可移植性差等问题,提出了一种基于符号执行和人机交互的自动向量化方法。首先借助于符号执行技术,获得较好的可移植性和较高的可向量化模块识别率;然后利用人机交互技术选择出理想的向量化方案。应用示例及实验结果表明,该方法具有较好的可操作性,能够有效提升自动向量化技术的优化效果和可移植性。
Auto-vectorization is a parallel compiling optimization technology for SIMD vector computing units.It combines multiple same operations into one SIMD instruction which can significantly improve the output of the system.As SIMD vector computing units are used widely,auto-vectorization technology has become the hot topic in both academic and commerce world.Focusing on the shortcoming of current auto-vectorization technology such as the difficulty to get the code that can be vectorized,the difficulty to select the best optimization schema and poor portability,we proposed a new vectorizing method based on the symbolic execution and human-machine interaction.The method contains two phases.At first,based on the symbolic execution technology,it recognizes the vectorizable code as much as possible.Then,the human-machine interaction technology is used for determining the exactly code to be vectorized.At the same time,the method has portability that can be used for other architectures by only modifying the pattern file.Application example shows that our new technology is feasible and effective.
出处
《计算机科学》
CSCD
北大核心
2016年第S1期461-466 492,共7页
Computer Science