Pattern-driven automatic program transformation and parallelization

The PARAMAT system is able to automatically parallelize a wide class of sequential numeric codes operating on dense vectors, matrices etc. without any user interaction, for execution on distributed memory message-passing multiprocessors. A powerful pattern recognition tool locally identifies program semantics and concepts in scientific codes. It also works for dusty deck codes that have been 'encrypted' by former machine-specific code transformations. Successful pattern recognition guides sophisticated code transformations including local algorithm replacement. We propose a unified framework for parallel code generation where the user can allow or prevent the system to choose a suitable new parallel algorithm that does not emerge from the sequential program structure by just parallelizing some loops. The partially restored program semantics also supports local array alignment distribution and redistribution, and allows for faster and more exact prediction of the performance of the parallelized target code than usually possible.<<ETX>>

[1]  Jingke Li,et al.  Index domain alignment: minimizing cost of cross-referencing between distributed arrays , 1990, [1990 Proceedings] The Third Symposium on the Frontiers of Massively Parallel Computation.

[2]  Thomas Rauber,et al.  Automatic Parallelization for Distributed Memory Multiprocessors , 1994, Automatic Parallelization.

[3]  Arno Formella,et al.  Isolating the Reasons for the Performance of Parallel Machines on Numerical Programs , 1994, Automatic Parallelization.

[4]  Christoph W. Keßler,et al.  Symbolic Array Data Flow Analysis and Pattern Recognition in Numerical Codes , 1994 .

[5]  Ken Kennedy,et al.  A static performance estimator to guide data partitioning decisions , 1991, PPOPP '91.

[6]  Christoph W. Kessler,et al.  Scheduling Vector Straight Line Code on Vector Processors , 1991, Code Generation.

[7]  Harold S. Stone,et al.  A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations , 1973, IEEE Transactions on Computers.

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

[9]  Marina C. Chen,et al.  Compiling Communication-Efficient Programs for Massively Parallel Machines , 1991, IEEE Trans. Parallel Distributed Syst..

[10]  Monica S. Lam,et al.  A data locality optimizing algorithm , 1991, PLDI '91.

[11]  Christoph W. Kessler,et al.  Automatic Parallelization by Pattern-Matching , 1993, ACPC.

[12]  Ken Kennedy,et al.  Automatic Data Layout Using 0-1 Integer Programming , 1994, IFIP PACT.