Runtime and Compiler Support for Irregular Computations

There have been major efforts in developing programming language and compiler support for distributed memory parallel machines. On these machines, large data arrays are typically partitioned among the local memories of individual processors. Languages supporting such distributed arrays include Fortran D [11, 19], Vienna Fortran [6, 32], and High Performance Fortran (HPF) [21]. Many compilers for these HPF-like languages produce Single Program Multiple Data (SPMD) code, combining sequential code for operating on each processor’s data with calls to message-passing or runtime communication primitives for sharing data with other processors.

[1]  Peter Brezany,et al.  Vienna Fortran - A Language Specification. Version 1.1 , 1992 .

[2]  Dimitri J. Mavriplis Three dimensional unstructured multigrid for the Euler equations , 1991 .

[3]  Anne Rogers,et al.  Compiling for Distributed Memory Architectures , 1994, IEEE Trans. Parallel Distributed Syst..

[4]  Bowen Alpern,et al.  Detecting equality of variables in programs , 1988, POPL '88.

[5]  Joel H. Saltz,et al.  Communication Optimizations for Irregular Scientific Computations on Distributed Memory Architectures , 1994, J. Parallel Distributed Comput..

[6]  B. Nour-Omid,et al.  Solving finite element equations on concurrent computers , 1987 .

[7]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[8]  Robert E. Tarjan,et al.  A fast algorithm for finding dominators in a flowgraph , 1979, TOPL.

[9]  Harry Berryman,et al.  Distributed Memory Compiler Design for Sparse Problems , 1995, IEEE Trans. Computers.

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

[11]  M. Karplus,et al.  CHARMM: A program for macromolecular energy, minimization, and dynamics calculations , 1983 .

[12]  Barbara M. Chapman,et al.  Programming in Vienna Fortran , 1992, Sci. Program..

[13]  Ken Kennedy,et al.  Compiler Analysis for Irregular Problems in Fortran D , 1992, LCPC.

[14]  Dimitri J. Mavriplis,et al.  The design and implementation of a parallel unstructured Euler solver using software primitives , 1992 .

[15]  Ken Kennedy,et al.  Compiling Fortran D for MIMD distributed-memory machines , 1992, CACM.

[16]  Joel H. Saltz,et al.  Run-time and compile-time support for adaptive irregular problems , 1994, Proceedings of Supercomputing '94.

[17]  Paul Havlak,et al.  Interprocedural symbolic analysis , 1995 .

[18]  Geoffrey C. Fox,et al.  Runtime Support and Compilation Methods for User-Specified Irregular Data Distributions , 1995, IEEE Trans. Parallel Distributed Syst..

[19]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[20]  Ken Kennedy,et al.  Evaluation of compiler optimizations for Fortran D on MIMD distributed memory machines , 1992, ICS '92.

[21]  Ken Kennedy,et al.  Compiler optimizations for Fortran D on MIMD distributed-memory machines , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[22]  Joel H. Saltz,et al.  Runtime and language support for compiling adaptive irregular programs on distributed‐memory machines , 1995, Softw. Pract. Exp..

[23]  G. A. Venkatesh,et al.  The semantic approach to program slicing , 1991, PLDI '91.

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

[25]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[26]  Hans Robert Kalbitzer Max-Planck-Scientist offers European Perspective on Protein NMR Databases: State-of-the-Art and Future Directions in Europe , 1992 .

[27]  Joel H. Saltz,et al.  Parallelizing Molecular Dynamics Codes using the Parti Software Primitives , 1993, PPSC.

[28]  Shahid H. Bokhari,et al.  A Partitioning Strategy for Nonuniform Problems on Multiprocessors , 1987, IEEE Transactions on Computers.