Next: Fortran 90 Binding
The goals of HPF, as defined at an early HPFF meeting, were to define
language extensions and feature selection for Fortran supporting:
The FORALL construct and several new intrinsic functions were designed
primarily to meet the first goal, while the data distribution features and
some other directives are targeted toward the second goal.
Extrinsic procedures allow access to low-level programming in support of
the third goal, although performance tuning using the other features is
- Data parallel programming (defined as single threaded, global name
space, and loosely synchronous parallel computation);
- Top performance on MIMD and SIMD computers with non-uniform memory
access costs (while not impeding performance on other machines); and
- Code tuning for various architectures.
A number of subsidiary goals were also established:
These goals were quite aggressive when they were adopted in
March 1992, and led to a number of compromises in the final language.
In particular, support for explicit MIMD computation, message-passing,
and synchronization was limited due to the difficulty in forming a
consensus among the participants. We hope that future efforts will
address these important issues.
- Deviate minimally from other standards, particularly those for
FORTRAN 77 and Fortran 90;
- Keep the resulting language simple;
- Define open interfaces to other languages and programming styles;
- Provide input to future standards activities for Fortran and C;
- Encourage input from the high performance computing community
through widely distributed language drafts;
- Produce validation criteria;
- Present the final proposals in November 1992 and accept the final draft
in January 1993;
- Make compiler availability feasible in the near term with
demonstrated performance on an HPF test suite; and
- Leave an evolutionary path for research.