首页> 中文学位 >Itanium 2上编译器性能调优方法的研究
【6h】

Itanium 2上编译器性能调优方法的研究

代理获取

目录

文摘

英文文摘

论文说明:表格、插图

声明及论文版权使用授权书

第一章引言

第二章Itanium体系结构上的性能分析与调优

第三章一个具体调优实例

第四章结论与进一步工作

参考文献

致谢

简历

展开▼

摘要

编译器是一种将高级程序设计语言编写的源程序转化为语义等价的机器语言程序的系统软件。在这个过程中,编译器常常会对于输入代码进行优化,从而可以得到更好的性能或者是减少生成的代码大小等。通常对于通用处理器的编译器,性能往往是最重要的目标。开发编译器的种种优化的最终目的都是为了提高程序的性能。然而,在编译器的开发过程中,我们常常会遇到这样一种情况:在经历了很长时间的设计和实现之后,编译器可以正常运行,但是却达不到预期的优化效果,有些时候性能甚至出现了下降的情况。在这种情况下,我们就需要对基准测试用例进行分析来找出性能下降的原因。该过程我们称为性能分析。性能分析的主要目的是找到现有程序的瓶颈之处,通过对这些地方的编译优化进行分析,发现现有优化的不足并对其进行改进,从而获得性能提升。 Itanium 2是由Intel以及HP公司联合推出的一款用于高性能服务器的64位通用处理器。Itanium 2采用的是显式指令集并行(Explicitly Parallel Instruction Com-puting,EPIC)结构。EPIC结构中软硬件接口可以使得软件更好地发掘编译时信息并有效地将这些信息传递给硬件。EPIC结构提供了强大的硬件支持使得编译器能够在很大范围内的代码作全局优化。这些优化可以使得指令级并行性(Instruction LevelParallelism,ILP)更好地暴露给硬件,从而可以使得硬件资源得到更好的利用。同时,对于编译好的代码,EPIC结构可以很好地进行动态运行时优化。这样使得软件以及硬件的联系更加紧密,从而使得编译器的地位更加重要。 本论文主要讨论Itanium 2处理器上的编译器的性能分析与调优方法。论文首先介绍了性能分析与调优的基本过程以及其意义。之后,我们介绍了Itanium 2上用于性能分析与调优的常见工具以及Itanium 2本身对于性能分析和调优提供的硬件支持。在此基础上,论文讨论了Itanium 2上的性能分析以及调优的基本方法以及步骤。最后,我们给出了具体的调优实例。我们主要的调优对象是开放源代码编译器ORC(OpenResearch Compiler)。通过利用Itanium 2提供的硬件计数器及其丰富的性能监测与分析工具,我们对于SPEC CPU2000中的mgrid浮点程序进行调优。通过调优,我们发现: 1.ORC编译器中产生局部性提示的部分可以被改进。目前,ORC对所有的预取指令都产生nta的局部性提示。这里,nta表示在所有的存储层次上都没有时间局部性。对于浮点程序,大部分预取都是在循环中进行的。很显然,nta不太符合这种 情况。 2.ORC编译器的代码生成部分没有很好的利用Itanium 2体系结构的特点。一个例子就是lfetch指令(预取指令)的自增模式。在该模式下,每次lfetch指令在预取之后可以自动对目标地址增加一个常数。这样可以减少对寄存器的使用,同时也减少生成的代码大小。 3.在寄存器分配中,活跃区间的分裂算法过于激进。这会导致一些冗余的拷贝指令被插入。 4.预取在Itanium 2体系结构上占有重要的地位。但是,ORC的预取算法有待改进(例如:可以利用Itanium2的旋转寄存器特点产生预取指令,这样可以减少生成的代码也可以减少经SWP后核心循环所需要的周期)。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号