论文摘要
近年来,随着多媒体应用的迅速发展,很多高性能微处理器都采用了SIMD扩展技术。SIMD扩展技术缺少统一的指令描述规范,程序员不仅需要对程序的结构有较为深刻的认识,而且要掌握目标平台支持的扩展体系结构和指令集的特点,对程序员来说编写SIMD程序是具有挑战性的工作,因此当前编译技术中的自动向量化就是解决这个问题的一个重要方法。自动向量化需要编译器能够充分分析原程序的特点,将其中可向量化的循环或语句块转换成语义等价的SIMD指令。本文针对当前的主流编译器在自动向量化方面的缺点,结合传统的循环变换方法,深入研究了可以提升自动向量化效率的循环变换技术。首先,以数据依赖关系分析为基础,分析了程序中语句向量化的合法性,设计实现了语句向量化识别算法及基于语句向量化识别的循环分布算法。第二,针对SIMD体系结构中标量部件与向量部件可并行工作的特点,研究了基于混合并行的循环变换技术,设计实现了一种简单通用的循环选择合并算法,并针对合并不成功或性能不能达到预期效果的情况,提出了相应的分段展开变换策略,提高了系统的硬件资源利用率。第三,针对自动向量化变换在处理复杂应用程序所存在的不足,研究了基于信息识别的交互式变换方法,设计实现了一种交互式的循环变换调优框架。在该框架结构内,通过分析应用程序的特点,采用可视化动静态编译信息的方法,为用户提供一个高效的渐近式SIMD交互调优环境。本文研究的循环变换方法在自动向量化项目SW-VEC中进行实现,测试结果表明,使用本文的自动变换方法对SPEC CPU2000浮点测试集中几个向量化较好的测试程序性能平均有10%左右的提升,从而验证了本文提出的方法可以提升向量化识别率并能够得到较高的加速比。同时,测试结果表明,通过交互式的循环变换方法,可以弥补自动向量化中难以处理的复杂情况,进一步提高编译器的向量化能力。
论文目录
相关论文文献
- [1].基于Tree-SSA优化框架的高级循环优化[J]. 电脑知识与技术 2009(24)
- [2].关于嵌入式计算系统程序性能分析优化的研究[J]. 电脑编程技巧与维护 2019(01)
- [3].面向SIMD向量化的循环优化技术研究[J]. 信息工程大学学报 2016(04)
- [4].混淆中的控制变换研究[J]. 西安石油大学学报(自然科学版) 2010(02)
- [5].SAR成像并行仿真的访存局部性优化技术[J]. 计算机应用与软件 2014(02)
- [6].基于多面体表示的向量化收益评估方法[J]. 计算机工程 2012(07)
- [7].基于全局数据重组的循环倾斜优化[J]. 计算机与现代化 2017(06)
- [8].结构体向量化中的存储优化[J]. 小型微型计算机系统 2016(09)
- [9].基于多面体模型的数据依赖分析方法[J]. 空间控制技术与应用 2015(05)
- [10].一种简化计算的Bent函数判定方法[J]. 佳木斯大学学报(自然科学版) 2008(03)