

4 PGHPF Libraries
This chapter introduces you to the PGHPF compiler libraries. Depending
on the PGI product you are using, some of these libraries or object files may
not be available on your system.
The
following startup routines and function libraries and object files are provided
with the PGHPF compiler:
- crt1i.o
-
Startup routine for the compilation environment
- crtn.o
-
Startup routine for the compilation environment
- hpfalt.o
-
Fortran 90 alternate logical support routine - linked in when
-Munixlogical is specified on the command line
- hpfmain.o
-
Fortran 90 startup routine
- libpghpf.a
-
Transport independent communications interface library. The
PGHPF compilation system uses this library for PGHPF programs to
manage communications between processors on parallel systems
- libpghpf2.a
- Transport communications interface library continued.
- libpghpf_mpi.a
- The MPI communications library.
- libpghpf_mpi_p.a
- The MPI communications library with profiling support.
- libpghpf_prof.a
- PGPROF support library.
- libpghpf_rpm.a
- The RPM communications library.
- libpghpf_rpm_p.a
- The RPM communications library with profiling support.
- libpghpf_rpm1.a
- The RPM1 communications library.
- libpghpf_rpm1_p.a
- The RPM1 communications library with profiling support.
- libpghpf_smp.a
- The SMP communications library.
- libpghpf_smp_p.a
- The SMP communications library with profiling support.
NOTE
Depending on what type of compiler product you have, some of these libraries
or object files may not be sent with your particular product.
An
include file named lib3f.h is included in the PGHPF distribution.
Using the lib3f.h include file, programs can call standard 3F routines
available on many platforms. The statement:
INCLUDE "lib3f.h"
is
required in the declarations section of any program unit which references 3F
procedures. In particular, PGHPF programs that use getarg() or
iargc() require this INCLUDE statement.
-
- It is possible to call routines in a pre-compiled (.a) library from
a PGHPF-compiled program. For example, you may want to call highly
optimized BLAS or FFT routines from a PGHPF-compiled program in order to
construct highly-optimized parallel algorithms. As long as the routines adhere
to FORTRAN 77 calling conventions, they can be declared as EXTRINSIC
in an interface block in the HPF calling program, and called in the usual
manner. Called in this manner, routines from pre-compiled libraries will
operate either locally on the local portions of distributed arrays or will
operate serially. See Chapter 8, HPF Extrinsics, for a detailed
discussion of extrinsic procedures and an example of their use.

