Next: The HPF Model
Up: High Performance Fortran
Previous: High Performance Fortran
The facilities for array computation in Fortran 90 make it
particularly suitable for programming scientific and engineering numerical
calculations on high performance computers. Indeed, some of these
facilities are already supported in compilers from a number of
vendors. The introductory overview in the Fortran 90 standard states:
Operations for processing whole arrays and subarrays (array
sections) are included in the language for two principal reasons:
(1) these features provide a more concise and higher level
language that will allow programmers more quickly and reliably to
develop and maintain scientific/engineering applications, and (2)
these features can significantly facilitate optimization of array
operations on many computer architectures. - Fortran Standard
(page xiii)
Other features of Fortran 90 that improve upon the features provided in
FORTRAN 77 include:
- Additional storage classes of objects. The new storage classes
such as allocatable, automatic, and assumed-shape objects as well as the
pointer facility of Fortran 90 add significantly to those of FORTRAN 77
and should reduce the use of FORTRAN 77 constructs that can
lead to less than full computational speed on high performance
computers, such as EQUIVALENCE between array objects, COMMON definitions with
non-identical array definitions across subprograms, and array
reshaping transformations between actual and dummy arguments.
- Support for a modular programming style.
The module facilities of Fortran 90 enable the use of data abstractions in
software design. These
facilities support the specification of modules, including user-defined
data types and structures, defined operators on those types, and
generic procedures for implementing common algorithms to be used on a
variety of data structures. In addition to modules, the definition of
interface blocks enables the application programmer to specify
subprogram interfaces explicitly, allowing a high quality compiler to
use the information specified to provide better checking and
optimization at the interface to other subprograms.
- Additional intrinsic procedures. Fortran 90 includes the
definition of a large number of new intrinsic procedures. Many of
these support mathematical operations on arrays, including the
construction and transformation of arrays. Also, there are numerical
accuracy intrinsic procedures designed to support numerical
programming, and bit manipulation intrinsic procedures derived from
MIL-STD-1753.
HPF conforms to Fortran 90 except for additional restrictions placed on
the use of storage and sequence association. Because of the effort
involved in producing a full Fortran 90 compiler, HPF is defined at two
levels: Subset HPF and full HPF. Subset HPF is a subset of
Fortran 90 with a subset of the HPF extensions. HPF is Fortran 90
(with the restrictions noted in Section ) with all of the
HPF language features.
Next: The HPF Model
Up: High Performance Fortran
Previous: High Performance Fortran
paula@erc.msstate.edu
Thu Dec 8 16:17:11 CST 1994