|Volume 7, Issue 1 -
PORTLAND GROUP, INC. RELEASES CRPC-INFLUENCED COMMERCIAL HIGH PERFORMANCE FORTRAN COMPILER
Alok Choudhary, Northeastern Parallel Architectures Center, Syracuse University
The Portland Group Inc. (PGI), an independent software development company, has licensed technology from the CRPC for use in the development of a commercially available High Performance Fortran (HPF) compiler. PGI has developed an HPF compiler and tools, known as PGHPF, which is designed to be re- targetable to a wide variety of parallel systems.
PGHPF employs a transport-independent runtime interface and optional source-to-source translation that allow efficient code generation for systems that rely upon multi-threading, PVM, MPI, PARMACs, or a number of other vendor-specific protocols. All details and optimizations relating to both data and control parallelism are resolved by PGHPF and supported by runtime software optimized for the target system. Some features of the Portland Group's HPF compiler include:
The HPF informal standard is the product of an international coalition of working researchers, academic groups, and commercial hardware and software vendors known as the High Performance Fortran Forum (HPFF). A major input to the HPFF has been provided by the CRPC research projects related to Fortran D and Fortran 90 D languages, compilation, and tools.
The PGHPF compiler was designed in conjunction with CRPC researchers and based on their previous work with the Fortran 90 D compiler developed at Syracuse University in collaboration with Rice University. Internally, PGHPF consists of four major phases: the front-end, pre- decomposition analysis, data distribution, and communication optimization. The front-end reads the HPF source file and converts it into an internal representation. Pre-decomposition analysis produces control and data dependence information required for efficient data distribution, communication generation, serial-to-SPMD program transformation, and optimization. The data distribution phase of the compiler propagates data distributions to compiler-created temporaries and user variables with unspecified distributions based on the available directives. It also partitions computation based on the specified distributions. The communication optimization phase identifies communication patterns, selects corresponding communication primitives, and performs various communication optimizations.
PGHPF will be available in two forms. A highly tuned version of PGHPF is integrated with PGI's PGF77 Fortran compiler and produces executable images for most iPSC/860 and SPARC multi-processor platforms. This version of PGHPF will be optimized for various iPSC/860 and SuperSPARC multi- processor systems. PGHPF will also be available as a source-to- source translator that produces Fortran 77 incorporating calls to a portable communications library. This output can then be used as input to standard node compilers.
Both forms of PGHPF utilize an internally defined transport independent run-time library. This allows common source generation regardless of the target or underlying communication mechanism. Support will be provided for communications using PVM, PARMACS, and several target- custom communication protocols. The run-time library for a specific target can be optimized outside of the context of the compiler. Optimized versions of the runtime library are under development for the Intel Paragon, Meiko CS-2, and various multi-processor shared-memory systems. Interfaces to the PGI HPF compiler, including the run-time, will be open and freely available. This will allow system vendors and researchers to perform custom tuning for a specific target, and will facilitate integration with existing parallel support tools.
For more information on CRPC work on this project, contact Alok Choudhary at firstname.lastname@example.org.
For further information on PGHPF, contact:
Table of Contents