Abstract
This paper describes two new ideas by which a High Performance Fortran compiler can deal with irregular computations effectively. The first mechanism invokes a user specified mapping procedure via a set of proposed compiler directives. The directives allow use of program arrays to describe graph connectivity, spatial location of array elements, and computational load. The second mechanism is a conservative method for compiling irregular loops in which dependence arises only due to reduction operations. This mechanism in many cases enables a compiler to recognize that it is possible to reuse previously computed information from inspectors (e.g., communication schedules, loop iteration partitions, and information that associates off-processor data copies with on-processor buffer locations). This paper also presents performance results for these mechanisms from a Fortran 90D compiler implementation.
Original language | English (US) |
---|---|
Pages (from-to) | 815-831 |
Number of pages | 17 |
Journal | IEEE Transactions on Parallel and Distributed Systems |
Volume | 6 |
Issue number | 8 |
DOIs | |
State | Published - Aug 1995 |
Keywords
- Runtime support
- data distributions
- distributed memory machines
- high performance Fortran
- irregular problems
- language directives
- parallelizing compilers
ASJC Scopus subject areas
- Signal Processing
- Hardware and Architecture
- Computational Theory and Mathematics