PGHPF Compiler User's Guide - Contents
Table Of Contents
Preface
Audience Description
Compatibility and Conformance to Standards
Organization
Hardware and Software Constraints
Conventions
Related Publications
1 Getting Started
1.1 Overview
1.2 Invoking PGHPF
1.2.1 PGHPF Command-line Syntax
1.2.2 Compiler Command-line Options
1.3 Filename Conventions
1.3.1 Input Files
1.3.2 Output Files
2 PGHPF Compiler Options
-M pghpf_flag
3 PGHPF Runtime Options
3.1 Runtime Options and Environment Variables
3.1.1 Specify Command Line Options in the Environment
3.1.2 RPM Runtime Library
Number of Processors -np
Specify Hosts -host
Specifying Alternate Hostname -curhost
Specify Debugging -g and -debugger
Specify Minimum Unbuffered Message Size -minxfer
Specify NFS Mount Path for Automounted Systems -mount
Specify Remote Shell -rsh
Print Execution Information
3.1.3 Shared Memory Systems - RPM
Global Heap Size -heapz
3.1.4 RPM1 Runtime Library
3.1.5 PVM Runtime Library
PVM - Number of Processors -np
Print Execution Information
3.1.6 MPI Runtime Library
Print Execution Information
-
3.2 Print Execution Information -stat
3.2.1 CPU Statistics -stat
Memory Statistics
Message Statistics
All Statistics
-
4 PGHPF Libraries
4.1 Libraries and Startup Routines
5 Data Distribution
5.1 Run-time Model - Overview
5.2 HPF Data Distribution
5.2.1 Propagating Data Distribution
Default Distribution
Explicit HPF Distribution
Distributing Allocatable Arrays
Distribution of Procedure Arguments
Distribution of Compiler Created Temporaries
5.2.2 Computation Partitioning
5.3 InterProcedural Analysis (IPA) Overview
5.4 Static Data Initialization
6 Runtime and Execution Model
6.1 Communication Optimization
6.1.1 Replicated Data
6.1.2 Overlap Shift Communications
Overlap Shift Optimization
6.1.3 Copy Section Communications
6.1.4 Indirection References and Scheduling
6.2 Program Performance Measurement
7 PGHPF Parallelism
7.1 Array Assignment Parallelism
7.2 WHERE Statement Parallelism
7.2.1 WHERE Construct Parallelism
7.3 FORALL Statement and Construct Parallelism
7.4 Library Routines and Intrinsics
7.4.1 3F Library Routines
7.5 INDEPENDENT Loops
7.5.1 Restrictions on Parallelization
7.5.2 INDEPENDENT Clauses
The NEW Clause
The ON HOME Clause
The REDUCTION Clause
7.5.3 Procedure Calling
7.5.3 Independent Performance
7.6 Inlining
7.6.1 Switches
The inline Switch
The extract Switch
Compiler Information Switches
Extract Directories
Inlining Transformations
7.6.2 Examples
8 Extrinsics
8.1 Extrinsic F77_LOCAL Support
8.1.1 Common Routines
Get number of processors
Get my processor number
Translate PGHPF processor number to processor grid coordinates
Translate processor grid coordinates to PGHPF processor number
8.1.2 Generic routines
Send/receive non-character data
Send/receive Fortran character data
8.1.3 MPI
Translate processor number to MPI processor identifier
8.1.4 PVM
Translate processor number to PVM processor identifier
8.2 Extrinsic HPF_LOCAL Support
8.3 Extrinsic F77_SERIAL Support
8.4 Extrinsic HPF_SERIAL Support
8.5 Extrinsic HPF_CRAFT Support
9 Modules
9.1 Modules with Generic Interfaces
9.2 LIB3F Procedures
A Messages
A.1 Diagnostic Messages
A.2 Compiler Error Messages
A.2.1 Message List
B Driver Customization
B.1 Environment Variable
B.1.1 Setting Environment Variables
Index