An Integer Set Framework for HPF Analysis and Code Generation

The core of the Rice dHPF compiler for High Performance Fortran is a practical, executable, equa-tional framework for data parallel program analysis and optimization. This framework, based on abstract operations on sets of integers, greatly simpliies the implementation of many key analysis, optimization and code generation tasks (even with a general computation partitioning model), and yet enhances their generality and exibility. This paper describes the equational framework, tradeoos in its implementation, the formulation and implementation of important analyses and optimizations within the framework, and a hierarchical code generation strategy to support the framework.

[1]  Chau-Wen Tseng An optimizing Fortran D compiler for MIMD distributed-memory machines , 1993 .

[2]  Ken Kennedy,et al.  Interactive parallelization of numerical scientific programs , 1989 .

[3]  William Pugh,et al.  The Omega Library interface guide , 1995 .

[4]  John A. Chandy,et al.  The Paradigm Compiler for Distributed-Memory Multicomputers , 1995, Computer.

[5]  S LamMonica,et al.  Communication optimization and code generation for distributed memory machines , 1993 .

[6]  Ken Kennedy,et al.  An Implementation of Interprocedural Bounded Regular Section Analysis , 1991, IEEE Trans. Parallel Distributed Syst..

[7]  Ken Kennedy,et al.  A linear-time algorithm for computing the memory access sequence in data-parallel programs , 1995, PPOPP '95.

[8]  William Pugh,et al.  A practical algorithm for exact array dependence analysis , 1992, CACM.

[9]  Sandeep K. S. Gupta,et al.  On Compiling Array Expressions for Efficient Execution on Distributed-Memory Machines , 1993, 1993 International Conference on Parallel Processing - ICPP'93.

[10]  Siegfried Benkner,et al.  Vienna Fortran 90 , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..

[11]  Manish Gupta,et al.  A methodology for high-level synthesis of communication on multicomputers , 1992, ICS '92.

[12]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[13]  Monica S. Lam,et al.  Communication optimization and code generation for distributed memory machines , 1993, PLDI '93.

[14]  Prithviraj Banerjee,et al.  Advanced compilation techniques in the PARADIGM compiler for distributed-memory multicomputers , 1995, ICS '95.

[15]  Ken Kennedy,et al.  Computer support for machine-independent parallel programming in Fortran D , 1992 .

[16]  John R. Gilbert,et al.  Optimal evaluation of array expressions on massively parallel machines , 1995, TOPL.

[17]  Corinne Ancourt,et al.  Scanning polyhedra with DO loops , 1991, PPOPP '91.

[18]  Jonathan Harris,et al.  Compiling High Performance Fortran for Distributed-memory Systems , 1995, Digit. Tech. J..

[19]  Anne Rogers,et al.  Process decomposition through locality of reference , 1989, PLDI '89.

[20]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[21]  W. Kelly,et al.  Code generation for multiple mappings , 1995, Proceedings Frontiers '95. The Fifth Symposium on the Frontiers of Massively Parallel Computation.

[22]  Charles Koelbel,et al.  Compiling Global Name-Space Parallel Loops for Distributed Execution , 1991, IEEE Trans. Parallel Distributed Syst..

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

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

[25]  Edith Schonberg,et al.  An HPF Compiler for the IBM SP2 , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[26]  Guy L. Steele,et al.  The High Performance Fortran Handbook , 1993 .

[27]  Thomas R. Gross,et al.  Generating Communication for Array Statement: Design, Implementation, and Evaluation , 1994, J. Parallel Distributed Comput..

[28]  K. Kennedy,et al.  Preliminary experiences with the Fortran D compiler , 1993, Supercomputing '93.

[29]  Larry Meadows,et al.  Compiling High Performance Fortran , 1995, PPSC.

[30]  Michael Gerndt,et al.  Automatic parallelization for distributed-memory multiprocessing systems , 1989 .