首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 109 毫秒
1.
首先介绍了迭代编译的基本概念,然后讨论了其起源与发展,对其研究现状进行综述,主要包括优化空间的表述、优化空间的开发与搜索以及对数据输入集的敏感度分析三个方面。然后分析了目前迭代编译技术中所存在的不足。最后指出了迭代编译的未来发展趋势。  相似文献   

2.
迭代编译技术是一种编译优化技术,目前学术研究已经证明将迭代编译技术运用于程序优化能够显著提高程序性能。但是,因为迭代编译需要多次编译运行程序,整个迭代过程耗时巨大。为了运用当前普遍存在的多核计算资源,加快迭代编译过程,对当前新提出的迭代编译框架OpenTuner进行修改,将迭代编译过程中的评估阶段改为并行执行。同时,探索迭代编译评估阶段并行化对优化效果的影响,并对此做出分析。  相似文献   

3.
黄春  赵克佳 《计算机教育》2011,(14):52-54,58
随着计算机技术的不断发展,尤其是计算机体系结构的发展,编译器面临极大的挑战。这要求我们进一步加强和发展编译教学,在研究生阶段开设编译高阶课程。本文介绍国防科学技术大学研究生高级编译技术课程,包括课程内容、安排和实践,给出了国际其他大学开设研究生阶段编译课程的情况介绍。  相似文献   

4.
编译技术在计算机软件工程开发中的有不可代替的地位,它不光是一种语言生命的开始,还伴随着该语言功能的逐渐壮大.基于语言的软件设计想要更加完美,离不开编译技术.本文从编译技术的背景及软件工程开发的现状开始介绍,讲解了程序设计语言的基本编译过程,列举了基于编译技术的程序可视化,及编译技术在排版上的应用.  相似文献   

5.
软件项目规模越来越大,使大型软件的编译过程漫长,而分布式编译正是目前提高大规模软件项目编译时间及效率的有效方法,目前国内外在此方面研究的文献资料并不多见.以目前市场上两种主流的技术代表性产品Incredibuild和Distcc为例,详细描述了二者的性能特点、工作原理、框架结构、安装维护等内容,总结了分布式编译器系统的发展现态,分析比较了其优缺点,指出分布式编译系统性能提高问题本质上是一个优化求解问题,因而优化求解的诸多技术和方法均值得借鉴,这将是未来分布式编译器系统的一个发展方向.  相似文献   

6.
利用超级编译技术优化串行程序   总被引:1,自引:0,他引:1  
张兆庆  乔如良 《软件学报》1995,6(1):124-131
现代的超标量和超流水线高速处理器通常都带有二级高速缓冲存储器,以及较多的快速寄存器。利用程序变换来改善程序性能,是当今编译技术研究的热门课题之一。本重点讨论了超级编译技术中的循环分布,交换,合并和stripmining对串行程序的优化应用和效果。  相似文献   

7.
寄存器分配技术是编译器最为关键的优化技术之一.反馈式编译优化是一种基于程序当前和以前运行时的趋势来改变程序以后执行动作的技术,它能够提供给寄存器分配一些有用的优化信息.在分析Open64编译器反馈式编译优化技术的基础上,基于ALPHA结构实现和扩展了反馈式编译优化在寄存器分配中的应用,获得了较好的优化性能.  相似文献   

8.
田新民  王鼎兴 《计算机学报》1992,15(11):838-847
并行图重写计算的有效实现需要压缩重写任务的频繁生成、切换和同步开销.为此本文提出了一种编译时重写粒度优化技术——编译时部分调度.其核心思想是基于对重写结点的全序性质和执行语义的分析,编译时构造 保持原有执行语义的粗粒度顺序重写体。在本文定义的形式框架下,我们建立了编译时部分调度的安全条件,并给出了严格的证明.实验研究结果表明编译时部分调度能有效地增大重写粒度,重写任务数压缩了30—60%,并且计算的安全性得到了保证.  相似文献   

9.
基于机器学习的迭代编译方法可以在对新程序进行迭代编译时,有效预测新程序的最佳优化参数组合。现有方法在模型训练过程中存在优化参数组合搜索效率较低、程序特征表示不恰当、预测精度不高的问题。因此,基于机器学习的迭代编译方法是当前迭代编译领域内的一个研究热点,其研究挑战在于学习算法选择、优化参数搜索以及程序特征表示等问题。基于监督学习技术,提出了一种程序优化参数预测方法。该方法首先通过约束多目标粒子群算法对优化参数空间进行搜索,找到样本函数的最佳优化参数;然后,通过动静结合的程序特征表示技术,对函数特征进行抽取;最后,通过由函数特征和优化参数形成的样本构建监督学习模型,对新程序的优化参数进行预测。分别采用k近邻法和softmax回归建立统计模型,实验结果表明,新方法在NPB测试集和大型科学计算程序上实现了较好的预测性能。  相似文献   

10.
为将监督式编译技术(supercompilation)的应用扩展到其它程序语言上,分析了监督式编译的各种算法,并进行了对比,总结了不同算法的优缺点。从研究和应用两方面对监督式编译进行分析,并提出新的发展方向。在此基础上,将其它基于系统转换(metasystem transition,MST)的优化技术与监督式编译进行比较,并通过实例结果表明了监督式编译技术的优化能力强于部分求值和砍伐法。  相似文献   

11.
魂芯DSP是一款采用VLIW和SIMD架构的针对高性能计算领域而设计的32bit静态标量数字信号处理器.为了满足数字高性能计算的性能要求,魂芯DSP提供了丰富的复数指令,而编译器不能直接利用这些复数指令来提升编译性能.因此针对魂芯DSP芯片提供了大量的复数类操作指令的特点,在传统开源编译器Open64的编译框架基础上进行研究,实现了复数作为编译器基础类型和复数运算操作的支持.同时,通过识别特定的复数类操作的模式利用魂芯DSP上的复数类指令对程序编译优化.实验结果表明,该实现方案在魂芯DSP编译器上对复数程序优化后能够取得平均5.28的加速比.  相似文献   

12.
GNU Octave是一款数值计算软件,具有免费、开源以及几乎完全兼容MATLAB语言的优点。然而,Octave内置的基于LLVM的实验性即时编译器仅支持对少部分代码进行即时编译,无法有效解决Octave效率低下的问题。基于Octave即时编译器探究对Octave的性能优化方案,从工作原理角度出发,对该即时编译器整体工作原理和其中的类型推断系统进行分析;从工作现状角度出发,评估该即时编译器对Octave代码的适用范围和性能提升效果;针对该即时编译器的内置函数调用、索引运算与算术逻辑运算进行特性修复和功能新增,使Octave获得性能提升。实验结果表明,基于即时编译器的优化方案有效扩展了即时编译器的适用范围,为Octave代码执行带来56~283倍不等的性能提升。此外,总结了该即时编译器中存在的16类缺陷,对进一步优化Octave性能具有参考意义。  相似文献   

13.
编译器性能是计算机系统架构充分发挥优势的体现,编译器优化受机器平台与编译器特征的影响.编译器分析是在目标编译器与多参照编译器、目标平台与多参照平台之间进行的,即编译器与平台的组合是分析的基础.只有在多组合情况下才能为目标编译器优化提供最大可能的性能提升空间和详细的优化方案,但增加编译器与平台的组合往往会增加无法计量的分析工作量.为此,提出了一种基于峰值架构的面向跨平台跨编译器分析方法.基于峰值架构集为目标编译器构建理想性能空间,结合细粒度优势优化定位技术为目标编译器提供优势优化选项和优化方向,并实现编译器优化.最后通过实验验证了该分析技术的实用性与普适性,并为Intel平台上的目标编译器gcc提供了优化方向.  相似文献   

14.
FORALL结构是FORTRAN 95的一种语法,在编译器中高效地实现FORALL结构是一项富有挑战性的工作,局部性优化对其高效实现尤其重要。本文介绍作者在G95编译器中实现FOR ALL结构时用到的两种局部性优化方法--临时空间合并和嵌套循环排序。实验结果表明,局部性优化对提高FORALL结构的性能非常有效。对某类FORALL结构,与Intel的EFC 编译器相比,我们的实现方法能提高30%的性能。  相似文献   

15.
The modern trend toward heterogeneous many‐core architectures has led to high architectural diversity in both high performance and high‐end embedded systems. To effectively exploit the computational resources of such a wide range of architectures, programming languages and APIs such as OpenCL have become increasingly popular. Although OpenCL provides functional code portability and the ability to fine tune the application to the target hardware, providing performance portability is still an open problem. Thus, many research works have investigated the optimization of specific combinations of application and target platform. In this paper, we aim at leveraging the experience obtained in the implementation of algorithms from the cryptography domain to provide a set of guidelines for modern many‐core heterogeneous architecture performance portability and to establish a base on which domain‐specific languages and compiler transformations could be built in the near future. We study algorithmic choices and the effect of compiler transformations on three representative applications in the chosen domain on a set of seven target platforms. To estimate how well the application fits the architecture, we define a metric of computational intensity both for the architecture and the application implementation. Besides being useful to compare either different implementation or algorithmic choices and their fitness to a specific architecture, it can also be useful to the compiler to guide the code optimization process. Copyright © 2014 John Wiley & Sons, Ltd.  相似文献   

16.
一种基于子结构分析的基本块重排算法   总被引:3,自引:0,他引:3  
刘先华  杨阳  张吉豫  程旭 《软件学报》2008,19(7):1603-1612
基本块重排是一类通过重新排布基本块在存储中的位置,以减少转移开销和指令cache失效率的编译优化技术.介绍了一种基于子结构分析的基本块重排算法.该算法通过统计剖视信息中控制流图的边执行频率,基于处理器转移预测策略构建转移开销模型和基本块排布收益模型.算法采用局部子结构优化的策略,改善基本块在存储中的排列顺序,从而减少转移开销,并提高指令cache的使用率,改善程序的总体性能.在UniCore处理器平台上进行了实验.实验结果表明,与其他基本块重排算法相比,该基本块重排算法在更大程度上减少转移开销和指令cache失效率的同时,其时间复杂度保持为O(n×logn).  相似文献   

17.
Lambert   《Performance Evaluation》2005,61(4):329-346
Simulation has become the tool of choice for advanced computer architecture research. Simulation model abstraction as well as compiler specifics can have significant impact on the observed performance trends and may lead to incorrect conclusions. This study presents a methodology that compares the predicted performance impact of several architectural techniques measured on a variety of simulator and compiler configurations. A significant difference in speedup between experiments indicates that a technique is sensitive to this particular variation. The results demonstrate a strong but non-uniform relationship between modeling abstraction and measurement error, as well as a significant sensitivity to the compiler.  相似文献   

18.
Program optimizations that have been exclusively done by either the architecture or the compiler are now being done by both. This blurred distinction offers opportunities to optimize performance and redefine the compiler-architecture interface. We describe an optimization continuum with compile time and post run time as end points and show how different classes of optimizations fall within it. Most current commercial compilers are still at the compile-time end point, and only a few research efforts are venturing beyond it. As the gap between architecture and compiler closes, there are also attempts to completely redefine the architecture-compiler interface to increase both performance and architectural flexibility  相似文献   

19.
申威众核片上多级存储层次是缓解众核“访存墙”的重要结构.完全由软件管理的SPM结构和片上RMA通信机制给应用性能提升带来很多机会,但也给应用程序开发优化与移植提出了很大挑战.为充分挖掘片上存储层次特点提升应用程序性能,同时减轻用户编程优化负担,本文提出了一种多级存储层次访存与通信融合的编译优化方法.该方法首先设计了融合编译指示,将程序高层信息传递给编译器.其次构建了编译优化收益模型并设计了启发式循环优化方案迭代求解框架,并由编译器完成循环优化方案的求解和优化代码的变换.通过编译生成的DMA和RMA批量数据传输操作,将较低存储层次空间中高访问延迟的核心数据批量缓冲进低访问延迟的更高存储层次空间中.在三个典型测试用例上进行了优化实验测试与分析,结果表明本文所提出的优化在性能上与手工优化相当,较未优化版程序性能有显著提升.  相似文献   

20.
迭代式优化编译方法能有效地使应用程序的运行充分发挥各种硬件平台的潜力。其中基于机器学习的方法显著提高了优化效率,但它忽视了编译程序的经验总是有限的现实,需要根据一个新程序的具体情况判断自己是否有足够的和适当的经验将其优化。这制约了在更广泛的应用领域内应用该技术。为此,本文提出采用逆K近邻法对新程序作孤立点检测。如果一个程序被判断为孤立点,表明已有经验并不适用,应该从零开始搜索优化空间;否则可直接利用已有经验。初步实验结果表明,本方法能有效判断一系列程序中的孤立点,使编译程序能对它们做恰当的处理,提高优化效率。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号