This manual describes The Portland Group's implementation of High
Performance Fortran (HPF), a version of Fortran 90 with HPF extensions, and is
the language accepted by the pghpf compiler. This manual is part of a
set of manuals describing the HPF language and the HPF compilation tools
available from The Portland Group, Inc. This manual presents the Fortran 90
language statements, Fortran 90 intrinsics, and HPF directives and statements
that pghpf accepts. The HPF compilation system includes a transport
independent interface library (TII) supporting communications among multiple
processors and includes a Fortran 77 node compiler or uses the target Fortran
77 node compiler as an integrated node compiler.. Depending on the target
system, the pghpf software development tools also include an assembler,
a linker, a debugger and a profiler. You can use these tools to create, debug,
optimize and profile your data parallel HPF programs. The following section,
"Related Publications," lists other manuals in the PGI documentation set.
This manual is intended for people who are writing HPF programs for parallel
systems. To use pghpf you should be aware of the role of HPF and of
source-level programs in the software development process and you should have
some knowledge of a particular parallel system or workstation cluster. The
pghpf compiler runs on a variety of host systems and produces output
that runs on a number of targets. To use pghpf you need to be familiar
with the Fortran language, either Fortran 90 or Fortran 77, and the basic
commands available on your host system.
The pghpf compiler accepts the HPF language which is a superset of
Fortran 90. This version of pghpf conforms to the High Performance
Fortran Language Specification Version 1.0, published by the Center for
Research on Parallel Computation, at Rice University (with a few limitations
and modifications, consult the release notes for details).
For further information on pghpf and the HPF language, you can also
refer to the following:
- High Performance Fortran Language Specification, Rice University,
Houston Texas (1993).
- American National Standard Programming Language FORTRAN, ANSI
X3.-1991.
- International Language Standard ISO Standard 1539-1991(E) .
- American National Standard Programming Language FORTRAN, ANSI
X3.-1978 (1978).
- MIL-STD-1753
- Programming in VAX FORTRAN, Version 4.0, Digital Equipment
Corporation (September, 1984).
- IBM VS FORTRAN, IBM Corporation, Rev. GC26-4119.
This manual is divided into the following chapters and appendices:
Chapter 1, Language Overview, provides an introduction to the HPF
language.
Chapter 2, HPF Data Types, describes the data types that HPF supports
and provides examples using various data types. Memory allocation and alignment
issues are also discussed.
Chapter 3, Fortran Statements, describes each of the Fortran statements
including all the Fortran 90 and HPF statements that pghpf accepts.
Chapter 4, HPF Directives, describes the HPF directives which control
data distribution and alignment, and influence data parallelism by providing
additional information to the compiler.
Chapter 5, Fortran Arrays, describes some of the special characteristics
of arrays in Fortran 90.
Chapter 6, Input/Output and Formatting, describes the input, output, and
format statements that allow programs to transfer data to or from files.
Appendix A, Fortran 90 Intrinsics, lists the Fortran 90 intrinsics and
subroutines.
Appendix B, HPF Intrinsics and Library Procedures, lists the HPF
intrinsics and subroutines.
Appendix C, PGI Language Extensions, lists the language extensions that
the PGI HPF compiler supports.
This manual describes a version of HPF that is accepted by pghpf,
operates on a variety of host systems and produces object code for a
variety of target systems. Details concerning environment-specific values and
defaults and host-specific features or limitations are presented in the release
notes and installation instructions sent with the pghpf software.
This High Performance Fortran Reference Manual uses the following
conventions:
- italic
is used for commands, filenames, directories, arguments, options and
for emphasis.
- Constant Width
is used in examples and for language statements in the text.
- [ item1 ]
- square brackets indicate optional items. In this case item1 is
optional.
- { item2 | item3}
- braces indicate that a selection is required. In this case, you must select
either item2 or item3.
- filename ...
- ellipsis indicate a repetition. Zero or more of the preceding item may
occur. In this example, multiple filenames are allowed.
FORTRAN Fortran
language statements are shown using upper-case characters and a reduced point
size.
- <TAB>
- non-printing characters, such as TAB, are shown enclosed in greater than
and less than characters and a reduced point size.
- @
- this symbol indicates an area in the text that describes a PGI Fortran 90
Language enhancement. Enhancements are features that are not described in the
ANSI Fortran 90 standard.
The following documents contain additional information related to HPF and other
compilers and tools available from The Portland Group, Inc..
PGHPF User's Guide, describes the pghpf compiler and describes
some details concerning the PGI implementation of HPF in a user's guide
format.
The High Performance Fortran Handbook, describes the HPF language in
detail.
High Performance Fortran Language Specification, Rice University,
Houston Texas (1993), is the specification for the HPF language.
Fortran 90 Handbook, describes the Fortran 90 language and the
statements, data types, input/output format specifiers, and additional
reference material that defines ANSI/ISO Fortran 90.