文献综述
本课题研究的现状及发展趋势:
SIMD编译优化技术的研究历史并不是很长,目前SIMD编译优化技术所采用的自动向量化方法主要包括:传统向量化方法、超字并行向量化方法(Superword Level Parallelism, SLP)和模式匹配向量化方法。其中传统向量化方法和超字并行向量化方法的使用最为广泛,也是许多SIMD编译优化技术研究的基础,而模式匹配向量化方法一般只是作为一个补充而应用于研究性编译器中。
本课题研究的意义和价值:
近年来多媒体产业迅猛发展,多媒体应用的代码往往具有较高的并行性,因此几乎所有主流的处理器厂商都为其微处理器增加了SIMD扩展部件,以充分发掘微处理器的计算能力,并提供了具有单指令流多数据流特征的指令集,简称为SIMD指令集。SIMD扩展的应用可以给应用程序带来很大的性能提高,但是SIMD指令对于程序员并不是透明的,程序员既要了解应用程序的结构和数据布局,又要掌握目标微处理器所支持的SIMD扩展的体系结构和指令集的特点,才能够恰当地修改程序结构和数据布局,使之适合在SIMD扩展上运行。目前SIMD扩展的实现通常采用两种方式:第一种是手工向量化,即通过内嵌手写的汇编代码或目标微处理器的内函数来添加SIMD指令。第二种是自动向量化,又称SIMD编译优化,即向量化编译器通过分析应用程序中控制流和数据流的特征,识别并选出可以向量化执行的代码部分,将标量指令自动转换为相应的SIMD指令的过程。手工向量化在理论上虽然能够实现最高程度的向量化,但程序员既要清楚应用程序的结构特征和数据布局,又要了解目标微处理器所支持的SIMD扩展的体系结构和指令集的特点,极大地增加了程序员的编程难度和工作量。与手工向量化相比,自动向量化的一个优点就是如何进行向量化编译是由编译器决定的,程序员不需要考虑过多的细节,且已有的许多应用程序不需修改,通过编译器自动向量化编译,就可以得到针对目标SIMD扩展的向量化程序,极大减少了程序员的工作负担。另一个优点就是自动向量化编译器中采用相同的中间表示,可以统一各种优化措施,在后端代码生成的时候再考虑各种不同体系结构的特征,这样大大增强了编译器的高效性和可移植性。
参考文献:
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。