摘要
传统的分布存储并行编译系统大多是在共享存储并行编译系统的基础上开发的.共享存储并行编译系统的并行识别技术适合OpenMP代码生成,实现方式是将所有嵌套循环都按照相同的识别方法进行处理,用于分布存储并行编译系统必然会导致无法高效发掘程序的并行性.分布存储并行编译系统应根据嵌套循环结构的特点进行分类处理,提出适合MPI代码生成的并行识别技术.为解决上述问题,根据嵌套循环的结构和MPI并行程序的特点,提出了一种新的嵌套循环分类方法,并针对不同的嵌套循环分别提出了相应的并行识别技术.实验结果表明,与采用传统并行识别技术的分布存储并行编译系统相比,按照所提方法对嵌套循环进行分类,采用相应并行识别技术的编译系统能够更高效地识别基准程序中的并行循环,自动生成的MPI并行代码其性能加速比提高了20%以上.
Existing distributed memory parallelizing compiler systems are mostly developed based on shared systems.The parallelism recognition technologies of shared memory parallelizing compiler systems are suitable for OpenMP code generation.Their implementation is used to recognize all nested loops by the same technology,so that the parallelism cannot be efficiently explored when applying them to distributed memory parallelizing compiler systems.Thus,this paper proposes some parallelism recognition technologies suitable for the MPI code generation for distributed memory parallelizing compiler systems by classifying the nested loops according to their structures.To solve these problems,a new classification method of nested loops is proposed,according to the structure of nested loops and characteristics of MPI parallel program.Corresponding parallelism recognition technologies for different nested loops are also presented,respectively.The experimental results show that compared with the distributed memory parallelizing compiler systems that used existing parallelism recognition technologies,the compiler systems,which use the proposed classification method and the corresponding recognition technologies,can more efficiently recognize parallel nested loops in the benchmark programs,and the performance speedup of the MPI codes automatically increased to more than 20%.
出处
《软件学报》
EI
CSCD
北大核心
2012年第10期2695-2704,共10页
Journal of Software
基金
"核高基"国家科技重大专项(2009ZX01036-001-001-2)
关键词
并行编译
并行识别
嵌套循环
模型法
遍历法
交互法
parallelizing compiler
parallelism recognition
nested loops
model algorithm
traverse algorithm
interaction algorithm