Open64中数据预取的研究

来源 :中国科学院计算技术研究所 | 被引量 : 0次 | 上传用户:grindswods
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于存储器和处理器速度差距的日益增大,访存延迟已经成为限制程序性能的主要瓶颈.数据预取通过提前将数据取入缓存,可以掩盖访存延迟,对于提高程序性能有很大的帮助.本文以Open64编译器为平台,研究了数据预取在安腾体系结构上对浮点程序性能的影响. 通过分析SPEC CPU2000 FP程序,以及与Intel产品编译器进行对比,我们发现了Open64中现有数据预取的问题,并对之加以改正.我们还发现了一些程序中潜在的数据预取机会,通过增强现有编译器,数据预取可以为这些程序带来较大的性能提升. 文中讨论了数据预取的一些参数,如预取距离和预取数量,对于优化效果的影响,并对这些参数的选取提出改进.论文还实现了利用旋转寄存器进行数据预取的算法,可以在保证预取效果的同时减少预取指令带来的开销,对部分程序能够带来进一步的性能提升. 最后,我们还讨论了循环局部性优化,主要是循环分块,对于数据预取效果的影响.本文指出循环分块和数据预取的结合使用或者单独使用需要视具体程序的特征而定. 经过本文的改进工作,Open64的数据预取对CPU2000 FP平均性能的提升从最初的6﹪增加到了21.5﹪,部分程序的性能提升甚至达到100﹪.可见在安腾2处理器上,数据预取能够极大的改善浮点程序,尤其是那些包含规则的循环和规则的数组访问的程序性能.
其他文献
遗产代码系统是指那些运行多年,承担用户的关键业务,并且随着计算平台的变迁和业务需求的发展不断进行维护和更新的软件系统.遗产代码维护人员的短缺,以及现代计算环境的变迁
学位
当今的社会是个信息和科技非常发达的社会,随着信息化建设的不断发展,各行各业都有大量的数据被存储在各种数据仓库中,而且数据量每天都在不断以惊人的速度增加,数据种类繁多,如何
目前随着互联网技术的发展,人们被迫面对海量的信息,如何能够有效的利用这些信息成为了信息领域新的研究热点。如何对这些信息进行有机地整合,生成有结构的知识,为知识的学习者和
部件化网络内存是网格化动态自组织体系结构(DSAG)研究的一个重要的部分.单纯的软件原型或硬件原型系统分别在系统性能、稳定性、可扩展性、开发周期等方面存在不足.随着对网
随着半导体工艺技术的不断进步,芯片的设计规模越来越大,特别是进入深亚微米以后,集成电路完全可以将一个完整的电子系统在单块芯片上实现,于是便出现了片上系统(System on C
随着集成电路工艺特征尺寸的不断减小,以及大型计算机和消费类电子产品对于高性能和低功耗的不断需求,超大规模集成电路(VLSI)设计向着高速、低功耗的方向努力.这种情况下,芯
资源空间模型是知识网格理论的核心模型之一,用于规范、管理和共享资源,是一种基于分类语义的数据模型.资源使用机制是主要阐述如何在资源空间中管理和使用资源的机制. 本
学位
消防监督检查是指各级消防监督机构依法对建筑物遵守消防法律、法规情况进行的监督检查,对违反消防法律、法规的行为,责令改正,并依法实施处罚.通过消防监督检查,消防监督机