Program partitioning optimizations in an HPF prototype compiler

Two kinds of program partitioning optimizations are proposed. The first extends program partitioning using array subscript functions to deal with two cases about array elements on the left hand side of assignment statements in the loop: (a) the same loop control variables exist in different dimensions, (b) plural loop control variables exist in one dimension. The second removes statement guards generated in a loop by program partitioning in two cases about loop iteration ranges of statements in the loop: (c) ranges of plural statements for one processor are potentially different, (d) ranges of one statement for plural processors are potentially different. The first is proved to be efficient for the BEM program. The second is implemented in a simplified way in our HPF prototype compiler, and compiler output to Shallow Water program has as good performance as a hand optimized one.

[1]  Alok Choudhary,et al.  Retargetable high performance Fortran compiler challenges , 1993, Digest of Papers. Compcon Spring.

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

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

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

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

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

[7]  Monica S. Lam,et al.  Data and computation transformations for multiprocessors , 1995, PPOPP '95.

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