引用本文:赵捷,赵荣彩,丁锐,黄品丰.基于嵌套循环分类的并行识别技术.软件学报,2012,23(10):2695-2704
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 4327次   下载 7394 本文二维码信息
码上扫一扫!
分享到: 微信 更多
基于嵌套循环分类的并行识别技术
赵捷, 赵荣彩, 丁锐, 黄品丰
解放军信息工程大学信息工程学院, 河南郑州 450002
摘要:
传统的分布存储并行编译系统大多是在共享存储并行编译系统的基础上开发的.共享存储并行编译系统的并行识别技术适合 OpenMP 代码生成,实现方式是将所有嵌套循环都按照相同的识别方法进行处理,用于分布存储并行编译系统必然会导致无法高效发掘程序的并行性.分布存储并行编译系统应根据嵌套循环结构的特点进行分类处理,提出适合 MPI 代码生成的并行识别技术.为解决上述问题,根据嵌套循环的结构和 MPI 并行程序的特点,提出了一种新的嵌套循环分类方法,并针对不同的嵌套循环分别提出了相应的并行识别技术.实验结果表明,与采用传统并行识别技术的分布存储并行编译系统相比,按照所提方法对嵌套循环进行分类,采用相应并行识别技术的编译系统能够更高效地识别基准程序中的并行循环,自动生成的 MPI 并行代码其性能加速比提高了 20%以上.
关键词:  并行编译  并行识别  嵌套循环  模型法  遍历法  交互法
DOI:10.3724/SP.J.1001.2012.04178
分类号:
基金项目:“核高基”国家科技重大专项(2009ZX01036-001-001-2)
Parallelism Recognition Technology Based on Nested Loops Classifying
ZHAO Jie, ZHAO Rong-Cai, DING Rui, HUANG Pin-Feng
Institute of Information Engineering, PLA Information Engineering University, Zhengzhou 450002, China
Abstract:
Existing distributed memory parallelizing compiler systems are mostly developed based on sharedsystems. The parallelism recognition technologies of shared memory parallelizing compiler systems are suitable forOpenMP code generation. Their implementation is used to recognize all nested loops by the same technology, sothat the parallelism cannot be efficiently explored when applying them to distributed memory parallelizing compilersystems. Thus, this paper proposes some parallelism recognition technologies suitable for the MPI code generationfor 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 ofnested loops and characteristics of MPI parallel program. Corresponding parallelism recognition technologies fordifferent nested loops are also presented, respectively. The experimental results show that compared with thedistributed memory parallelizing compiler systems that used existing parallelism recognition technologies, thecompiler 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 theMPI codes automatically increased to more than 20%.
Key words:  parallelizing compiler  parallelism recognition  nested loops  model algorithm  traverse algorithm  interaction algorithm