All Topics  
High Performance Fortran

 

   Email Print
   Bookmark   Link






 

High Performance Fortran



 
 
High Performance Fortran (HPF) is an extension of Fortran 90 with constructs that support parallel computing
Parallel computing

Parallel computing is a form of computing 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 Concurrency ....
, 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 United States computer science 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 is a private university research university located in Houston, Texas, Texas, United States. The campus is located near the Houston Museum District and adjacent to the Texas Medical Center....
. 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 central processing units 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
Array

In computer science, an array is a data structure consisting of a group of element s that are accessed by index . In most programming languages each element has the same data type and the array occupies a contiguous area of computer memory....
 computation over multiple processors.






Discussion
Ask a question about 'High Performance Fortran'
Start a new discussion about 'High Performance Fortran'
Answer questions from other users
Full Discussion Forum



Encyclopedia


High Performance Fortran (HPF) is an extension of Fortran 90 with constructs that support parallel computing
Parallel computing

Parallel computing is a form of computing 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 Concurrency ....
, 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 United States computer science 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 is a private university research university located in Houston, Texas, Texas, United States. The campus is located near the Houston Museum District and adjacent to the Texas Medical Center....
. 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 central processing units 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
Array

In computer science, an array is a data structure consisting of a group of element s that are accessed by index . In most programming languages each element has the same data type and the array occupies a contiguous area of computer memory....
 computation over multiple processors. This allows efficient implementation on both SIMD
SIMD

In computing, SIMD is a technique employed to achieve data level parallelism....
 and MIMD
MIMD

In computing, MIMD is a technique employed to achieve parallelism. Machines using MIMD have a number of processors that function Asynchrony and independently....
 style architectures. HPF features included:

  • New Fortran statements, such as FORALL, and the ability to create PURE
    Pure function

    In 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 effect
    Side effect (computer science)

    In computer science, a subroutine or expression is said to produce a side effect if it modifies some state_ in addition to returning a value. For example, a function might modify a global or a static variable, modify one of its arguments, write data to a display or file, or read some data from other side-effecting functions....
     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 passing
    Message passing

    Message passing in computer science, is a form of communication used in parallel computing, object-oriented programming, and interprocess communication....
  • Additional library routines - including environmental inquiry, parallel prefix/suffix (e.g., 'scan'
    Prefix sum

    The prefix sum is an operation on lists in which each element in the result list is obtained from the sum of the elements in the operand list up to its index....
    ), data scattering, and sorting
    Sorting

    Sorting is any process of arranging items in some sequence and/or in different sets, and accordingly, it has two common, yet distinct meanings:...
     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

The OpenMP is an application programming interface that supports multi-platform shared memory multiprocessing programming in C , C++ and Fortran on many architectures, including Unix 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.

External links

  • - Rice University
    Rice University

    William Marsh Rice University is a private university research university located in Houston, Texas, Texas, United States. The campus is located near the Houston Museum District and adjacent to the Texas Medical Center....
     HPF Forum
  • - An open-source HPF compilation system