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
also possible.
A number of subsidiary goals were also established:
- 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.
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.