This paper presents techniques for compiling loops with complex, indirect array accesses into loops whose array references have at most one level of indirection. The transformation allows prefetching of array indices for more efficient structuring of communication on distributed-memory machines. It can also improve performance on other architectures by enabling prefetching of data between levels of the memory hierarchy or exploitation of hardware support for vectorized gather/scatter. Our techniques are implemented in a compiler for Fortran D and execution speed improvements are given for multiprocessor and vector machines. 1
|
972
|
Program slicing
– Weiser
- 1984
|
|
644
|
Efficiently computing static single assignment form and the control dependence graph
– Cytron, Ferrante, et al.
- 1991
|
|
312
|
Compiling Fortran D for MIMD Distributed-Memory Machines
– HIRANANDANI, KENNEDY, et al.
- 1992
|
|
310
|
Charmm: A program for macromolecular energy, minmimization, and dynamics calculations
– Brooks, Bruccoleri, et al.
|
|
284
|
Fortran-D Language Specification
– Fox, Hiranandani, et al.
- 1991
|
|
189
|
Zadeck. Detecting equality of variables in programs
– Alpern, Wegman, et al.
- 1988
|
|
162
|
Compiling global name-space parallel loops for distributed execution
– Koelbel, Mehrotra
- 1991
|
|
113
|
A Fast Algorithm for Finding Dominators in a Flowgraph
– Lengauer, Tarjan
- 1979
|
|
101
|
Compiler optimizations for Fortran D on MIMD distributedmemory machines
– Hiranandani, Kennedy, et al.
- 1991
|
|
87
|
The semantic approach to program slicing
– VENKATESH
- 1991
|
|
86
|
The design and implementation of a parallel unstructured euler solver using software primitives
– Das, Mavriplis, et al.
- 1992
|
|
66
|
Principles of runtime support for parallel processors
– Mirchandaney, Saltz, et al.
- 1988
|
|
55
|
Vienna Fortran - A language specification, version 1.1
– Zima, Brezany, et al.
- 1992
|
|
47
|
Interprocedural Symbolic Analysis
– Havlak
- 1994
|
|
33
|
Handling irregular problems with Fortran D --- A preliminary report
– Hanxleden
- 1993
|
|
33
|
Evaluation of compiler optimizations for Fortran D on MIMD distributed-memory machines
– Hiranandani, Kennedy, et al.
- 1992
|
|
31
|
Compiler Analysis for Irregular Problems in Fortran D
– Hanxleden, Kennedy, et al.
- 1992
|
|
28
|
Multiprocessors and run-time compilation
– SALTZ, BERRYMAN, et al.
- 1991
|
|
18
|
Parallelizing molecular dynamics codes using the PARTI software
– Das, Saltz
- 1993
|
|
18
|
Compiler analysis for irregular problems in Fortran D
– Hanxleden, Kennedy, et al.
- 1992
|
|
18
|
Three-dimensional multigrid for the Euler equations
– Mavriplis
- 1992
|
|
18
|
Compiling for distributed memory architectures
– Rogers, Pingali
- 1994
|
|
12
|
Draft High Performance Fortran Language Specification, Version 1.0 Draft
– Loveman
- 1993
|
|
9
|
Applying the CHAOS/PARTI Library to Irregular Problems
– Das, Hwang, et al.
- 1993
|
|
3
|
Parti procedures for realistic loops
– Saltz, Das, et al.
- 1991
|