Scalable libraries for Fortran 90D/High Performance Fortran

High Performance Fortran (HPF) is a new language, based on Fortran 90, developed by HPF Forum. The language was designed to support data parallel programming with top performance on MIMD and SIMD computers with non-uniform memory access costs. The main features of the language include the FORALL construct, new intrinsic functions and data distribution directives. A perusal of HPF shows that most of the parallelism is hidden in the runtime library. Further, efficient parallelization of FORALL construct and array assignment functions on distributed memory machines requires the use of collective communication to access non-local data. This communication could be structured (like shift, broadcast, all-to-all communication) or unstructured. Thus, the scalability of the code generated by the compiler depend on the scalability of these libraries. In this paper, we present the design and performance of an scalable library for the intrinsic functions and the collective communication library.<<ETX>>

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

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

[3]  Sanjay Ranka,et al.  Static and Runtime Scheduling of Unstructured Communication , 1993 .

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

[5]  Manish Gupta,et al.  Automatic data partitioning on distributed memory multicomputers , 1992 .

[6]  Ken Kennedy,et al.  An Overview of the Fortran D Programming System , 1991, LCPC.

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

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

[9]  Sanjay Ranka,et al.  Personalized Communication Avoiding Node Contention on Distributed Memory Systems , 1993, 1993 International Conference on Parallel Processing - ICPP'93.

[10]  Geoffrey C. Fox,et al.  Matrix algorithms on a hypercube I: Matrix multiplication , 1987, Parallel Comput..

[11]  Geoffrey C. Fox,et al.  Communication overhead on the CM5: an experimental performance evaluation , 1992, [Proceedings 1992] The Fourth Symposium on the Frontiers of Massively Parallel Computation.

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

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

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

[15]  Geoffrey C. Fox,et al.  Scheduling regular and irregular communication patterns on the CM-5 , 1992, Proceedings Supercomputing '92.