共查询到15条相似文献,搜索用时 46 毫秒
1.
代码生成作为并行编译器的后端,其生成代码的优劣直接影响着并行程序的执行效率。并行分解的维内存在偏移会产生维内通信,传统算法生成的维内通信代码不够精确,会产生冗余通信。提出了通过合并数组变量生成通信链,并按照通信链生成通信代码的维内通信优化算法来消除此类冗余,对传统算法进行了改进和优化。测试结果表明该算法对维内通信的优化效果明显。 相似文献
2.
3.
基于线性不等式的数据划分方法的优化 总被引:1,自引:0,他引:1
计算和数据划分是串行程序并行化时所要解决的一个重要问题,如何对程序中引用的数据进行合理的分布以最大限度的发现程序的并行性减少数据重分布的通信开销,是并行编译优化的重点。给出的数据和计算的优化分解方法是基于Anderson-Lam的分解算法上改进得到的。根据Anderson-Lam的算法得到数据和计算划分后,以线性不等式的形式表示,然后通过分析循环嵌套中能够进行边界冗余的只读数组,重新构造数据划分不等式,根据此不等式进行数据分布,实现具有边界冗余的只读数组的数据划分,有效地减少了数据收发的通信量。 相似文献
4.
MPI通信代码自动生成算法 总被引:1,自引:1,他引:0
对于高性能并行计算机而言,如何由给出的计算、数据划分信息及精确数组数据流分析信息自动生成并行化代码是实现串行程序并行化的一个重要问题。根据Saman P.Amarasinghe和Lam的定理,实现了一种并行化识别工具中MPI(Message Passing Interface)并行化代码自动生成技术的算法,并对该算法的性能进行分析。 相似文献
5.
6.
7.
并行结构骨架理论提供了一种描述并行程序设计模式的通用模型,对设计模式进行更高层次的抽象,能有效解决基于设计模式的并行程序设计方法的局限性问题,降低并行程序设计开发难度.基于并行结构骨架的并行程序设计环境--PASBPE在并行结构骨架理论的基础上,使用参数化设置快速生成用户所需并行程序框架,同时通过可视化的程序设计交互环境,简化并行程序的开发过程,提高开发效率. 相似文献
8.
线性矩阵不等式及其在控制工程中的应用 总被引:9,自引:0,他引:9
介绍了线性矩阵不等式的基本概念和用于求解线性矩阵不等式的软件工具箱Matlablmi的3个求解器,对线性矩阵不等式在控制系统中的应用作了详细的综述。分析了其在当前的两个研究热点,即不确定系统的鲁棒 控制与鲁棒滤波中的运用,同时探讨了时滞系统与非线性系统的研究现状,然后列举了一些具有代表性的采用LMI求解控制问题的最新结果,为了说明线性矩阵不等式的求解过程,给出了一个保性能控制的例子,在Matlab 5.3编辑器中运行程序,得到的结果是最优性能指标,copt=J^*10.6777。 相似文献
9.
针对现有通信优化算法无法使MPI自动并行化编译器生成加速比理想的消息传递程序问题,提出了一种基于重排序变换和循环分布的通信优化算法。该算法根据给出的过程间副作用集合和基于mpi_wait/mpi_irecv移动的重排序变换规则,有序地采用重排序变换和循环分布,尽可能安全地扩大点到点非阻塞通信中通信与计算的重叠窗口,使MPI自动并行化编译器生成具有更多计算重叠通信的消息传递代码。实验结果表明,该算法能够隐藏更多的点到点非阻塞通信开销,并且明显提升消息传递程序的加速比。 相似文献
10.
11.
分布存储系统的并行编译器需要解决各局部存储器之间数据分布问题和各处理机之间通信优化问题。论文并行编程模型、代码和数据分布、通信优化以及代码生成问题四个方面论述了基于分布存储系统的并行编译关键技术并提出了进一步研究所要解决的问题。 相似文献
12.
13.
随着深度学习模型和硬件架构的快速发展,深度学习编译器已经被广泛应用.目前,深度学习模型的编译优化和调优的方法主要依赖基于高性能算子库的手动调优和基于搜索的自动调优策略.然而,面对多变的目标算子和多种硬件平台的适配需求,高性能算子库往往需要为各种架构进行多次重复实现.此外,现有的自动调优方案也面临着搜索开销大和缺乏可解释性的挑战.为了解决上述问题,提出AutoConfig,一种面向深度学习编译优化的自动配置机制.针对不同的深度学习计算负载和特定的硬件平台, AutoConfig可以构建具备可解释性的优化算法分析模型,采用静态信息提取和动态开销测量的方法进行综合分析,并基于分析结果利用可配置的代码生成技术自动完成算法选择和调优. AutoConfig创新性地将优化分析模型与可配置的代码生成策略相结合,不仅能保证性能加速效果,还能减少重复开发的开销,同时可以简化调优过程.在此基础上,进一步将AutoConfig集成到深度学习编译器Buddy Compiler中,对矩阵乘法和卷积的多种优化算法建立分析模型,并将自动配置的代码生成策略应用在多种SIMD硬件平台上进行评估.实验结果可验证AutoConfig在代码生成策略中完成参数配置和算法选择的有效性.与经过手动或自动优化的代码相比,由AutoConfig生成的代码可达到相似的执行性能,并且无需承担手动调优的重复实现开销和自动调优的搜索开销. 相似文献
14.
为了提高软件开发的质量和效率,代码自动生成是当前的研究热点,代码自动生成的性能是其中的重要问题.现有代码自动生成的性能分析方法较简单,难以评估代码自动生成过程中程序员与代码自动生成工具各自的特征.本文综合考虑了代码自动生成过程中程序员与代码自动生成工具的作用,提出了一种基于半监督学习的代码自动生成性能评估方法,通过抽取... 相似文献
15.
Value numbering is a compiler-based program analysis method that allows redundant computations to be removed. This paper compares hash-based approaches derived from the classic local algorithm1 with partitioning approaches based on the work of Alpern, Wegman and Zadeck.2 Historically, the hash-based algorithm has been applied to single basic blocks or extended basic blocks. We have improved the technique to operate over the routine's dominator tree. The partitioning approach partitions the values in the routine into congruence classes and removes computations when one congruent value dominates another. We have extended this technique to remove computations that define a value in the set of available expressions (AVAIL).3 Also, we are able to apply a version of Morel and Renvoise's partial redundancy elimination4 to remove even more redundancies. The paper presents a series of hash-based algorithms and a series of refinements to the partitioning technique. Within each series, it can be proved that each method discovers at least as many redundancies as its predecessors. Unfortunately, no such relationship exists between the hash-based and global techniques. On some programs, the hash-based techniques eliminate more redundancies than the partitioning techniques, while on others, partitioning wins. We experimentally compare the improvements made by these techniques when applied to real programs. These results will be useful for commercial compiler writers who wish to assess the potential impact of each technique before implementation. © 1997 John Wiley & Sons, Ltd. 相似文献