High Performance Fortran
Encyclopedia
High Performance Fortran (HPF) is an extension of Fortran 90 with constructs that support parallel computing
, published 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 uses a data parallel
model of computation to support spreading the work of a single array computation over multiple processors. This allows efficient implementation on both SIMD
and MIMD
style architectures. HPF features included:
Fortran 95 incorporated several HPF capabilities. In response, the HPFF again convened and published the HPF 2.0 Report. The updated report removed material which was already covered by Fortran 95. The report was also reorganized and revised based on experience with HPF 1.0.
While some vendors did incorporate HPF into their compilers in the 1990s, some aspects proved difficult to implement and of questionable use. Since then, most vendors and users have moved to OpenMP
-based parallel processing. However HPF continues to have influence. For example the proposed
Parallel computing
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
, published by the High Performance Fortran Forum (HPFF). The HPFF was convened and chaired by Ken Kennedy
Ken Kennedy (computer scientist)
Ken Kennedy was an American computer scientist and professor at Rice University. He was the founding chairman of Rice's Computer Science Department....
of Rice University
Rice University
William Marsh Rice University, commonly referred to as Rice University or Rice, is a private research university located on a heavily wooded campus in Houston, Texas, United States...
. The first version of the HPF Report was published in 1993.
Building on the array syntax introduced in Fortran 90, HPF uses a data parallel
Data parallelism
Data parallelism is a form of parallelization of computing across multiple processors in parallel computing environments. Data parallelism focuses on distributing the data across different parallel computing nodes...
model of computation to support spreading the work of a single array computation over multiple processors. This allows efficient implementation on both SIMD
SIMD
Single instruction, multiple data , is a class of parallel computers in Flynn's taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data simultaneously...
and MIMD
MIMD
In computing, MIMD is a technique employed to achieve parallelism. Machines using MIMD have a number of processors that function asynchronously and independently. At any time, different processors may be executing different instructions on different pieces of data...
style architectures. HPF features included:
- New Fortran statements, such as
FORALL
, and the ability to createPURE
Pure functionIn computer programming, a function may be described as pure if both these statements about the function hold:# The function always evaluates the same result value given the same argument value...
(side effectSide effect (computer science)In computer science, a function or expression is said to have a side effect if, in addition to returning a value, it also modifies some state or has an observable interaction with calling functions or the outside world...
free) procedures - Compiler directives for recommended distributions of array data
- Extrinsic procedure interface for interfacing to non-HPF parallel procedures such as those using message passingMessage passingMessage passing in computer science is a form of communication used in parallel computing, object-oriented programming, and interprocess communication. In this model, processes or objects can send and receive messages to other processes...
- Additional library routines - including environmental inquiry, parallel prefix/suffix (e.g., 'scan'Prefix sumIn computer science, the prefix sum, or scan, of a sequence of numbers is a second sequence of numbers , the sums of prefixes of the input sequence:-Parallel algorithm:A prefix sum can be calculated in parallel by the following steps....
), data scattering, and sortingSortingSorting is any process of arranging items in some sequence and/or in different sets, and accordingly, it has two common, yet distinct meanings:# ordering: arranging items of the same kind, class, nature, etc...
operations
Fortran 95 incorporated several HPF capabilities. In response, the HPFF again convened and published the HPF 2.0 Report. The updated report removed material which was already covered by Fortran 95. The report was also reorganized and revised based on experience with HPF 1.0.
While some vendors did incorporate HPF into their compilers in the 1990s, some aspects proved difficult to implement and of questionable use. Since then, most vendors and users have moved to OpenMP
OpenMP
OpenMP is an API that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran, on most processor architectures and operating systems, including Linux, Unix, AIX, Solaris, Mac OS X, and Microsoft Windows platforms...
-based parallel processing. However HPF continues to have influence. For example the proposed
BIT
data type for the upcoming Fortran-2008 standard contains a number of new intrinsic functions taken directly from HPF.See also
- Partitioned global address spacePartitioned global address spaceIn computer science, a partitioned global address space is a parallel programming model. It assumes a global memory address space that is logically partitioned and a portion of it is local to each processor. The novelty of PGAS is that the portions of the shared memory space may have an affinity...
- The rise and fall of High Performance Fortran: an historical object lesson
External links
- HPFF - Rice UniversityRice UniversityWilliam Marsh Rice University, commonly referred to as Rice University or Rice, is a private research university located on a heavily wooded campus in Houston, Texas, United States...
HPF Forum - http://wotug.org/parallel/standards/hpf
- ADAPTOR - An open-source HPF compilation system
- HPF+ - HPF for advanced applications