Click here for full text:
Design of the Transform Phase of the Digital Fortran Compiler
Offner, Carl; Nelson, Alex; Bircsak, John; Harris, Jonathan; Lee, Shin; Offner, David
Keyword(s): High Performance Fortran; parallelism; compiler internal representations; parallel language implementation
Abstract: This is the design report for the Transform components of the Digital Fortran compiler, later inherited by the Compaq and HP Fortran compilers for Tru64 Unix running on Alpha. Transform is that part of the compiler which deals with High Performance Fortran (HPF) data mapping directives and parallel constructs. This report describes the data structures and internal transformations needed to turn HPF code into SPMD code with message-passing, and describes the plethora of optimizations introduced in order to generate efficient code. It also contains discussions of the main design decisions that were made, both for compiler efficiency and for high-quality code generation, with explanations of the trade-offs that were considered. The same technology was later extended to apply to OpenMP Fortran code with data mapping directives added for the purpose of generating efficient code on non-uniform memory access (NUMA) machines; that extension is also described here.
Back to Index