High Performance Fortran
High Performance Fortran (HPF) is an extension of Fortran 90 designed to support parallel computing, developed by the High Performance Fortran Forum (HPFF). The HPFF was convened and chaired by Ken Kennedy of Rice University. The first version of the HPF Report was published in 1993.
Building on the array syntax introduced in Fortran 90, HPF employs a data-parallel model of computation, enabling the distribution of array computations across multiple processors. This design facilitates efficient execution on both SIMD and MIMD architectures. Key features of HPF include:
- New Fortran constructs, such as
FORALL
, and the ability to definePURE
(side-effect-free) procedures - Compiler directives for recommended array data alignment and distribution, influenced by prior efforts such as Fortran D[1][2] and Vienna Fortran
- Directives for specifying processor arrangements (e.g., rank, extent)
- Directives for asserting loop iteration independence to enable parallel execution
- An extrinsic procedure interface, allowing integration with non-HPF parallel code such as message-passing libraries
- Additional library routines, including:
- Environmental inquiry functions
- Parallel prefix and suffix operations (e.g., scan, segmented scan)
- Data scattering and gathering
- Sorting operations
Some HPF capabilities were incorporated into the Fortran 95 standard. Subsequently, the HPFF reconvened and released the HPF 2.0 Report, which removed features already standardized in Fortran 95 and revised other sections based on implementation experience with HPF 1.0.
Although several vendors implemented HPF compilers in the 1990s, adoption was limited due to the complexity of implementation and limited practical benefit for some applications. Since then, most developers have transitioned to using OpenMP for parallel programming.[citation needed] Nonetheless, HPF has had a lasting influence on the evolution of parallel programming in Fortran. For instance, the BIT
data type proposal for the Fortran 2008 standard included several intrinsic functions derived from HPF.
See also
[edit]External links
[edit]- HPFF - Rice University HPF Forum
- Internet Parallel Computing Archive : Standards : Hpf
- ADAPTOR- An open-source HPF compilation system
- HPF+ - HPF for advanced applications
- The rise and fall of High Performance Fortran: an historical object lesson
References
[edit]- ^ "Fortran D Language Specification". Retrieved 29 March 2023.
- ^ An overview of Fortran D Retrieved 29 March 2023