Fortran 77D/90D Scalable and Portable Software Modules for SIMD and MIMD Distributed Memory Parallel Computers

Geoffrey C. Fox (PI), Alok Choudhary, T. Haupt, Xiaoming Li, Chao-Wei Ou, and Sanjay Ranka

NPAC at Syracuse University
Syracuse, NY 13244

Ken Kennedy

Center for Research on Parallel Computation, CITI
Rice University
Houston, TX 77251


Summary

Experience with developing parallel applications led to a definition of FortranD (Fortran 77D/90D), a data parallel extension of the Fortran language, aimed at wide use in scientific and industrial applications. As a proof of concept, a prototype compiler and corresponding runtime support has been developed and validated by a representative suite of applications which were handed coded within the message-passing paradigm. The success of this project was an important base for definition of the industry standard data parallel language - High Performance Fortran (HPF). The technology has been licensed to and commercialized by the Portland Group.

The next stage of the project involved designing new language features, new compiling techniques and adequate runtime support for HPF. This is driven by an application analysis and evaluation of emerging commercial HPF compilers. At the current stage, support for large-sized irregular applications has been developed as compiler embedded partitioners, optimized communication primitives as well as the prototype of a scalable parallel input-output system. These extensions significantly improve the High Performance Fortran to be a widely used in computational and scientific applications such as Computational Fluid Dynamics.

Three major options investigated portable runtime, parallel I/O and interpreted HPF as described below.

One essential component is high level languages, and several are currently under development for exploiting the data and/or task parallelism available in applications. A common runtime support library is developed based on those functions which will possibly be commonly used in developing high-performance language compilers.

I/O for parallel systems has drawn increasing attention in the last few years as it has become apparent that I/O performance rather than CPU or communication performance may be the limiting factor in future computing systems. The need for high performance I/O is so significant that almost all the present generation parallel computers provide some kind of hardware and software support for parallel I/O.

High Performance Fortran Interpreter (HPFI) is an experimental module linking the FortranD concepts with another NPAC software technology MOVIE. HPFI is naturally implemented in terms of emerging web technologies such as Java.


Table of Contents

  1. Introduction
  2. Fortran 90D Compiler
  3. Fortran 77D compiler
  4. Programming Tools and Libraries
  5. Option 1: Multi-language Runtime Support - Parallel Common Runtime Consortium
  6. Option 2: Scalable Input-Output in High Performance Fortran - Parallel And Scalable Software for I/O (PASSION)
  7. Option 3: Prototype High Performance Fortran Interpreter
  8. References

Also see


This page is maintained by Chao-Wei Ou
Last Update: Mon Mar 31 12:46:22 EST 1997