摘要
并行分析在并行编译系统中有着很重要的作用,它的优劣直接影响到编译系统的成败.随着机群系统及其并行开发环境的发展,多数的并行系统可支持多重并行循环的运行.而对只支持一重并行循环的编程系统,选择并行运行效率最高的循环,也是很重要的.为此,本文提出了一个有效的循环并行分析方案.它不但能给出多层循环的并行性,而且能够处理绝大部分实际应用中的并行性问题.本文对传统的并行分析算法进行了修改,并给出了一个有效的并行分析算法.该方案已在一个并行C编译中实现.
Parallel analysis is a very important technique in parallel compiler. A good parallel analysis algorithm will make a parallel compiler success. By the development of computer cluster and its parallel program exploitation environment, many parallel computer systems support multi level parallel loop execution. Moreover, those parallel programming systems that only support one level parallel loop may face the fact of selecting a perfect parallel loop to enhance the efficiency of the loop. After analyzing the serial loops, the parallel analysis pass may tell code generation pass which loop is parallel and which loop is serial. Marking all paralleling loops can reduce the spending of code generation. Therefor, this paper proposes a practical parallel analysis scheme. It not only can generate multiple parallel loops, but also can process many loops of practical programs. It improves traditional parallel analysis algorithm and gives an efficient parallel analysis algorithm. It will not end the processing of analyzing loops after find a parallel loop, and can find all parallel loops in all levels of a nested loop. This scheme has implemented in a parallelizing compiler system with C language.
出处
《计算机学报》
EI
CSCD
北大核心
1999年第2期134-140,共7页
Chinese Journal of Computers
关键词
依赖图
并行分析算法
C语言
并行编译系统
Dependence graph, loop parallel analysis, level dependence graph.