首页> 中文学位 >基于GCC编译器的循环展开关键技术研究
【6h】

基于GCC编译器的循环展开关键技术研究

代理获取

目录

声明

第一章 绪论

1.1 课题研究背景

1.2 相关优化技术介绍

1.3 国内外研究现状

1.4 研究内容及意义

1.5 论文组织结构

第二章 GC C循环展开技术分析

2.1 研究动机

2.2 GCC编译器循环展开实现

2.3 循环展开影响程序性能的原因分析

2.4 GCC循环展开存在的问题

2.5 本章小结

第三章 循环展开指导语句实现与调优

3.1 GCC参数接口和指导语句接口的对比研究

3.2 指导语句设计

3.3 指导语句实现

3.4 结合参数接口对SPEC2006程序调优

3.5 本章小结

第四章 针对循环展开的轻量型迭代编译器设计与实现

4.1 轻量型迭代编译器思想

4.2 轻量型迭代编译器设计

4.3 轻量级迭代编译器实现

4.4 实验

4.5 本章小结

第五章 结束语

5.1 工作总结

5.2 工作展望

致谢

参考文献

作者在学期间取得的学术成果

发表的学术论文

展开▼

摘要

循环展开是一种非常重要的循环变换技术,不仅能够直接提高程序的性能,而且可以为其它优化创造优化机会。目前编译器基本都是使用启发式方法选择展开策略。循环展开与其他优化的复杂交互和目标平台体系结构的复杂性,导致启发式方法选择的展开策略可能不是最优的。
  为了弥补启发式方法存在的问题,很多商用编译器提供指导语句接口方便用户改变展开决策,而GCC编译器仅仅提供参数方式来改变循环展开决策。在实际调优过程中,用户难以设置参数控制编译器选择用户期望的循环展开决策,针对这种情况,我们为GCC扩展了循环展开指导语句,方便用户对程序调优。最后结合参数调优方式与指导语句调优方式,对SPEC2006和NPB3.2程序集进行基于循环展开的调优。调优实践中发现指导语句接口使用方便,一些程序取得较大性能提升。
  为了解决由于优化间交互关系导致不能找到最佳展开决策的问题,我们提出轻量型迭代编译技术,使用不同候选展开决策对循环实施循环展开、冗余删除、代数重组等优化,然后使用性能模型评估优化后的代码性能,选出性能最好的展开决策。使用该迭代编译器对SPEC2006和NPB3.2程序进行了调优,与手动调优相比,迭代编译可以在更短时间内得到更高的性能。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号