YHFT-Matrix2编译器SIMD优化技术研究与实现
【摘要】:YHFT-Matrix2 DSP(Digital Signal Processor)是一款由国防科学技术大学计算机学院微电子所自主研发的64位高性能数字信号处理器,主要应用于多媒体计算等数字信号处理领域。为支持具有大数据量、窄数据类型、高并行度特点的多媒体计算,YHFT-Matrix2 DSP指令集中设计了大量的SIMD指令,因此,在YHFT-Matrix2编译器中实现SIMD指令向量化,对提高应用程序的执行效率、改善处理器的运行速度具有重要意义。本文结合YHFT-Matrix2 DSP的体系结构特征,从手工方式、自动向量化和人机交互三个方面对SIMD向量化进行了研究与实现。本文主要的研究内容及贡献如下:1)基于内建函数SIMD向量化技术的实现。本文根据对应用程序及YHFT-Matrix2体系结构认识,通过内建函数及参数类型初始化、指令模板添加及编译选项处理等操作,从而在YHFT-Matrix2编译器上实现SIMD向量化优化,得到期望的SIMD代码,对性能有很大的提升。2)SIMD指令自动向量化映射的实现。本文首先分析制约SIMD向量化技术发展的主要因素:数据依赖关系、控制依赖关系、内存连续访问及内存数据对齐。然后针对YHFT-Matrix2编译器,采用传统的数据依赖测试方法解决数据依赖问题;采用谓词执行方法对控制依赖进行优化;采用数据重组方法解决对内存访问的连续性限制;通过修改后端宏定义实现数据内存对齐。SIMD自动向量化的实现在很大程度上减少了程序员的工作量及对程序员的要求。3)基于编译指导SIMD向量化技术的实现。本文针对目前GCC中实现SIMD指令的基于位置信息与基于内建函数两种编译指导思想进行分析研究。然后在YHFT-Matrix2编译器中构建完整的映射关系,通过前端对编译指导语句进行分析处理,并调用内建函数,从而实现SIMD向量化指令。SIMD指令编译指导方法实现能够通过利用程序员的编程能力及经验,充分发挥自动向量化优势。最后通过测试用例对论文提出的各种SIMD优化方法进行收益代价分析,并对下一步工作进行展望。
【关键词】:SIMD 内建函数 自动向量化 编译指导
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP314