Data partitioning, Parallel programs, High Performance Fortran, HPF, Data distribution
Data Partitioning and mapping is one of the most important steps of in writing a parallel program; especially data parallel one. Recently, Fortran D, and subsequently, High Performance Fortran (HPF) have been proposed to allow users to specify data distributions and alignments for arrays in programs. This paper presents the design of a Fortran 90D compiler that takes a Fortran 90D program as input and produces a node program + message passing calls for distributed memory machines. Specifically, we present the design of the Data Partitioning Module that processes the alignment and distribution directives and illustrate what are the important design considerations. We show that our compiler produces portable, yet an efficient code. We also present the performance of the code produced by the compiler and compare it with the performance of the hand written code. We believe, this design can be used by implementors of the HPF compilers.
Bozkus, Zeki; Choudhary, Alok; Fox, Geoffrey C.; and Ranka, Sanjay, "Compiling distribution directives in a Fortran 90D compiler" (1992). Northeast Parallel Architecture Center. Paper 94.