Next: HPF Language Model
Up: Overview
Previous: Overview
The primary goals behind the development of the HPF language include:
- Support for data parallel programming (single threaded, global
name space, and loosely synchronous parallel computation);
- Portability across different architectures;
- High performance on parallel computers with non-uniform memory
access costs (while not impeding performance on other machines);
- Use of Standard Fortran (currently Fortran 95) as a base;
- Open interfaces and interoperability with other languages (e.g.,
C) and other programming paradigms (e.g., message passing using
MPI).
Secondary goals include:
- Implementation feasibility within a limited time span;
- Provision of input to future standards activities for Fortran
and C;
- Provision of an evolutionary path for adding advanced features
to the language in a consistent manner.
The first version of the language definition, HPF 1.0 was released in
May 1993. A number of language features that were defined in HPF 1.0
have now been absorbed into the Fortran 95 language standard (e.g.,
the FORALL statement and construct, and PURE
procedures). These features are therefore no longer detailed in the
definition of HPF 2.0. Information about the evolution of the HPF
language (through versions 1.0, 1.1, and 2.0) and an enumeration of
the differences between HPF 2.0 from HPF 1.1 may be found in
subsection 1.4.