Modern distributed memory computers offer very high levels of flexibility, scalability and performance but leave the programmer or the algorithm designer with the difficult and detailed task of planning computations, i.e, the orchestration of the entire parallel execution. The programmer is forced to manually distribute code and data in addition to explicitly managing communication. These tasks, in addition to being error-prone and time consuming, generally lead to non-portable code. Hence compiler technologies for distributed memory machines have received great attention due to their ease of use and portability.
To overcome the deficiencies of distributed memory machines, our Syracuse University group, along with colleagues at Rice University have designed the Fortran D language [1]. Fortran D is a version of Fortran that is enhanced with a rich set of data decomposition specifications providing a simple machine-independent programming model for most data-parallel computations. Standard Fortran 90 with these extensions is called ``Fortran 90D'', a Fortran 90 version of the Fortran D language. There is an analogous version of Fortran 77 with compiler directives and other constructs for use of parallel system, called Fortran 77D. Recently, the High Performance Fortran Forum, an informal group of people from academia, industry and national labs, led by Ken Kennedy, developed a language called HPF (High Performance Fortran) [2] based on Fortran D. Companies that have already committed to developing compilers and/or supporting HPF include Intel SSD, The Portland Group Inc., (PGI), DEC, IBM, and others. Hence, Fortran 90D and HPF are very similar. For this reason, we call the Fortran 90D language Fortran 90D/HPF.