An Automatic and Symbolic Parallelization System for Distributed Memory Parallel Computers

This paper describes ASPAR (Automatic and Symbolic PARallelization) which consists of a source-to-source parallelizer and a set of interactive graphic tools. While the issues of data dependency have already been explored and used in many parallel computer systems such as vector and shared memory machines, distributed memory parallel computers require, in addition, explicit data decomposition. New symbolic analysis and data-dependency analysis methods are used to determine an explicit data decomposition scheme. Automatic parallelization models using high level communications are also described in this paper. The target applications are of the “regular-mesh" type typical of many scientific calculations. The system has been implemented for the language C, and is designed for easy modification for other languages such as Fortran.

[1]  Ken Kennedy,et al.  Automatic translation of FORTRAN programs to vector form , 1987, TOPL.

[2]  G. C. Fox,et al.  Solving Problems on Concurrent Processors , 1988 .

[3]  Wayne R. Cowell,et al.  Transforming FORTRAN DO loops to improve performance on vector architectures , 1986, TOMS.

[4]  Joel H. Saltz,et al.  Principles of runtime support for parallel processors , 1988, ICS '88.

[5]  Stanley M. Dunn,et al.  Using an architectural knowledge base to generate code for parallel computers , 1989, CACM.

[6]  David A. Padua,et al.  Advanced compiler optimizations for supercomputers , 1986, CACM.

[7]  Constantine D. Polychronopoulos Compiler Optimizations for Enhancing Parallelism and Their Impact on Architecture Design , 1988, IEEE Trans. Computers.

[8]  David A. Padua,et al.  Dependence graphs and compiler optimizations , 1981, POPL '81.

[9]  Heinz Mühlenbein,et al.  MUPPET: a programming environment for message-based multiprocessors , 1986, Parallel Comput..

[10]  Jack J. Dongarra,et al.  Programming methodology and performance issues for advanced computer architectures , 1988, Parallel Comput..

[11]  Jack J. Dongarra,et al.  Tools to aid in the analysis of memory access patterns for FORTRAN programs , 1988, Parallel Comput..

[12]  Michael Gerndt,et al.  SUPERB: A tool for semi-automatic MIMD/SIMD parallelization , 1988, Parallel Comput..

[13]  John Feo,et al.  An analysis of the computational and parallel complexity of the Livermore Loops , 1988, Parallel Comput..

[14]  Michael Gerndt,et al.  Advanced tools and techniques for automatic parallelization , 1988, Parallel Comput..

[15]  David A. Padua,et al.  Utilizing Multidimensional Loop Parallelism on Large-Scale Parallel Processor Systems , 1989, IEEE Trans. Computers.

[16]  Manoj Kumar,et al.  Measuring Parallelism in Computation-Intensive Scientific/Engineering Applications , 1988, IEEE Trans. Computers.

[17]  Thomas Brandes Determination of dependencies in a knowledge-based parallelization tool , 1988, Parallel Comput..