

This document describes changes between PGHPF 3.0 and previous releases, as well as late-breaking information not included in the current printing of the PGHPF User's Guide.
PGHPF 3.0 includes the following components:
Depending on the product you purchased, you may not have received all of the above components.
PGHPF 3.0 is supported on the systems outlined in table 1-1 in section 1.1, Installing PGHPF. The PGHPF compiler is license-managed using the FLEXlm software license management system. Refer to chapter 1, PGHPF 3.0 Installation Notes, for more information on installing and using FLEXlm with PGHPF.
Following are the new features included in PGHPF 3.0:
Three new or updated compiler options have been added in release 3.0:
* -Mbounds - (Available only in the native HPF-to-assembly versions
of PGHPF) Enable array bounds checking; this should be run with
-Moverlap=size:0, since references to the overlap or shadow area
appear to be out-of-bounds.
* -fast - Set common optimization options specific for each target
machine:
Compaq Tru64 Sets -O2 in the PGHPF
translator and
-fast for the host
Fortran compiler.
CRAY T3E Sets -O2 in the PGHPF
translator and
-O3 -Ounroll2
-Opipeline2 for the host
Fortran
compiler.
HP Exemplar Sets -O2 in the PGHPF
translator and
-O3 -Ounroll2
-Opipeline2 for the host
Fortran
compiler.
IBM RS6000/SP Sets -O2 in the translator and
-qarch -auto
-qtune=auto -O3
-qstrict for the host Fortran
compiler. The xlf90 -qtune=auto switch
generates code specific to the architecture on
which compilation occurs. The resulting
executables may not function properly on all
RS6000/SP systems.
SGI Origin Series Sets -O2 in the
translator and -O3 for the
host
Fortran compiler.
Solaris/SPARC Sets -O2 in the translator
and -O2 -dalign
-fnonstd -native
for the host Fortran compiler.
* -Mnogenblock - treat any GEN_BLOCK distributed array dimensions as BLOCK distributions; this is useful for comparing performance of GEN_BLOCK distributions with BLOCK distributions.
PGHPF supports several styles of code generation and underlying communications, as outlined in Chapter 3 of the PGHPF User's Guide. Support for inter-processor communications using MPI is available on most platforms (see table 3-1 in Chapter 3 of the PGHPF User's Guide for a complete list of supported communication options on each target platform).
For each platform on which the -Mmpi compile/link option is supported, a default version of MPI is assumed by the PGHPF compiler. In most cases, it is a version of MPI supplied by the hardware system vendor. In other cases, it is MPI-CH, the portable version of MPI available from Argonne National Laboratories.
It is possible to use a version of MPI other than the default. To do this, you must compile the file $PGI/src/mpi.c using an ANSI C compiler on the target system, and substitute the resulting object file in the PGHPF link sequence as follows:
% cc -o mpi.o $PGI/src/mpi.c
% pghpf -Mmpi myprof.f mpi.o
Note that $PGI/src/mpi.c includes a reference to the mpi.h include file. You must ensure that the appropriate version of mpi.h is included by specifying (if necessary) an include directory path on the compile line.
If you would like to permanently replace the default MPI library referenced by PGHPF with some version other than the default, simply replace the version of mpi.o in the library $PGI/<target>/lib/libpghpf_mpi.a with the version built as outlined above.

