A Compilation Approach for Fortran 90D/HPF Compilers on Distributed Memory MIMD Computers

This paper describes a compilation approach for a Fortran 90D/HPF compiler, a source-to-source parallel compiler for distributed memory systems. Different from Fortran 77 parallelizing compilers, a Fortran90D/HPF compiler does not parallelize sequential constructs. Only parallelism expressed by Fortran 90D/HPF parallel constructs is exploited. The methodology of compilation of Fortran 90D/HPF programs such as computation partitioning, communication detection and generation are discussed. An example of Gaussian Elimination is used to illustrate the compilation techniques with performance results.

[1]  David A. Padua,et al.  High-Speed Multiprocessors and Compilation Techniques , 1980, IEEE Transactions on Computers.

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

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

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

[5]  Charles Koelbel,et al.  Supporting shared data structures on distributed memory architectures , 1990, PPOPP '90.

[6]  Michael Gerndt,et al.  Updating Distributed Variables in Local Computations , 1990, Concurr. Pract. Exp..

[7]  Ken Kennedy,et al.  Fortran D Language Specification , 1990 .

[8]  Harry Berryman,et al.  Run-Time Scheduling and Execution of Loops on Message Passing Machines , 1990, J. Parallel Distributed Comput..

[9]  Guy L. Steele,et al.  Data Optimization: Allocation of Arrays to Reduce Communication on SIMD Machines , 1990, J. Parallel Distributed Comput..

[10]  Harry Berryman,et al.  A manual for PARTI runtime primitives , 1990 .

[11]  Marina C. Chen,et al.  The Data Alignment Phase in Compiling Programs for Distrubuted-Memory Machines , 1991, J. Parallel Distributed Comput..

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

[13]  Jack Dongarra,et al.  A User''s Guide to PVM Parallel Virtual Machine , 1991 .

[14]  Philip J. Hatcher,et al.  Data-Parallel Programming on MIMD Computers , 1991, IEEE Trans. Parallel Distributed Syst..

[15]  Harry Berryman,et al.  Multiprocessors and run-time compilation , 1991, Concurr. Pract. Exp..

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

[17]  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).

[18]  Geoffrey C. Fox,et al.  Applications Benchmark Set for Fortran-D and High Performance Fortran , 1992 .

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

[20]  John H. Merlin,et al.  Techniques for the Automatic Parallelisation of `Distributed Fortran 90 , 1992 .

[21]  Marina C. Chen Optimizing FORTRAN-90 Programs for Data Motion on Massively Parallel Systems , 1992 .

[22]  Manish Gupta,et al.  Demonstration of Automatic Data Partitioning Techniques for Parallelizing Compilers on Multicomputers , 1992, IEEE Trans. Parallel Distributed Syst..

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

[24]  Manish Gupta,et al.  Automatic Data Partitioning on Distributed Memory Multicomputers , 1992 .

[25]  Rice UniversityCORPORATE,et al.  High performance Fortran language specification , 1993 .

[26]  John R. Gilbert,et al.  Automatic array alignment in data-parallel programs , 1993, POPL '93.

[27]  Geoffrey C. Fox,et al.  Fortran 90D intrinsic functions on distributed memory machines: implementation and scalability , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

[28]  Geoffrey C. Fox,et al.  Compiling Fortran 90D/HPF for Distributed Memory MIMD Computers , 1994, J. Parallel Distributed Comput..

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