HOME

TheInfoList



OR:

High Performance Fortran (HPF) is an extension of Fortran 90 designed to support
parallel computing Parallel computing is a type of computing, computation in which many calculations or Process (computing), processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. ...
, developed by the ''High Performance Fortran Forum'' (HPFF). The HPFF was convened and chaired by Ken Kennedy of
Rice University William Marsh Rice University, commonly referred to as Rice University, is a Private university, private research university in Houston, Houston, Texas, United States. Established in 1912, the university spans 300 acres. Rice University comp ...
. 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 Single instruction, multiple data (SIMD) is a type of parallel computer, parallel processing in Flynn's taxonomy. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneousl ...
and MIMD architectures. Key features of HPF include: * New Fortran constructs, such as FORALL, and the ability to define PURE (side-effect-free) procedures * Compiler directives for recommended array data alignment and distribution, influenced by prior efforts such as Fortran DAn overview of Fortran D
Retrieved 29 March 2023 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 Sorting refers to ordering data in an increasing or decreasing manner according to some linear relationship among the data items. # ordering: arranging items in a sequence ordered by some criterion; # categorizing: grouping items with similar p ...
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 OpenMP is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems, including Solaris, ...
for parallel programming. 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

* Partitioned global address space


External links


HPFF
-
Rice University William Marsh Rice University, commonly referred to as Rice University, is a Private university, private research university in Houston, Houston, Texas, United States. Established in 1912, the university spans 300 acres. Rice University comp ...
HPF Forum
Internet Parallel Computing Archive : Standards : Hpf
* tp://ftp.fhg.de/archive/gmd/adaptor/ 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

{{reflist Concurrent programming languages Fortran programming language family