【摘 要】
:
循环展开是一种非常重要的循环变换技术,不仅能够直接提高程序的性能,而且可以为其它优化创造优化机会。目前编译器基本都是使用启发式方法选择展开策略。循环展开与其他优化
论文部分内容阅读
循环展开是一种非常重要的循环变换技术,不仅能够直接提高程序的性能,而且可以为其它优化创造优化机会。目前编译器基本都是使用启发式方法选择展开策略。循环展开与其他优化的复杂交互和目标平台体系结构的复杂性,导致启发式方法选择的展开策略可能不是最优的。为了弥补启发式方法存在的问题,很多商用编译器提供指导语句接口方便用户改变展开决策,而GCC编译器仅仅提供参数方式来改变循环展开决策。在实际调优过程中,用户难以设置参数控制编译器选择用户期望的循环展开决策,针对这种情况,我们为GCC扩展了循环展开指导语句,方便用户对程序调优。最后结合参数调优方式与指导语句调优方式,对SPEC2006和NPB3.2程序集进行基于循环展开的调优。调优实践中发现指导语句接口使用方便,一些程序取得较大性能提升。为了解决由于优化间交互关系导致不能找到最佳展开决策的问题,我们提出轻量型迭代编译技术,使用不同候选展开决策对循环实施循环展开、冗余删除、代数重组等优化,然后使用性能模型评估优化后的代码性能,选出性能最好的展开决策。使用该迭代编译器对SPEC2006和NPB3.2程序进行了调优,与手动调优相比,迭代编译可以在更短时间内得到更高的性能。
其他文献
随着信息化时代的到来,传统的文献检索方式越来越难以满足读者的需求,文献检索方式信息化的需求越来越迫切。文献检索方式信息化,需要将传统的纸质文献检索目录卡片转化为电
随着Internet的迅速发展,网络安全问题显得日益突出。目前,网络上的攻击方式逐渐呈现出一些新特点,转为小规模的,针对特定用户和目的的攻击。另外一方面,仅仅依靠反病毒软件保护系
知识管理本质上是一种管理思想,实施知识管理是组织的一项投资,任何投资都要对其投入效果进行评估和测量。所以在实施知识管理后,组织还需要建立知识管理实施效果跟踪和评估措施
短期时序记忆是工作记忆的一种,它对从一般的知识获取到推理都起到了重要作用。以国际WIC研究院的研究课题为例,归纳推理、演绎推理、学习稳定性、决策、问题求解的神经科学基
软件可靠性是软件质量的重要方面.软件失效是系统失效或系统服务质量降级的主要因素.准确地评估软件系统的可靠性、预测软件可靠性随测试过程的增长能为软件发布和测试资源的
Web服务是近年来新兴的Web应用方式,其发展十分迅速。随着其应用范围的扩大以及Web服务动态组合需求的提出,Web服务的发布与发现,成为Web服务应用的一个关键问题之一。 传统
随着医疗信息技术和生物科技的迅猛发展,生物医疗行业的数据量呈爆炸式增长。作为生物医疗数据最重要的组成部分,临床与组学数据是指在疾病的诊治和组学分析中产生的电子病历
随着计算机网络的发展和技术的进步,网络游戏逐渐成为人们重要的娱乐方式。一个网络游戏系统需要支持分布在各地的成百上千的玩家同时在线游戏,繁重的处理任务使性能问题成为
移动机器人由于具备较强的适应性和自主性,在医疗、灾难救援、家政服务等领域得到广泛应用。建立精准的三维地图和实现精确的定位是移动机器人实现自主导航的关键,也是完成后