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 |
Funding
This work was sponsored in part by ARPA (NAG-1-1485), NSF (ASC 9213821) and ONR (N00014-93-1-0158, N00014-94-1-0907). Also supported by NASA Contract No. NAS1-19480 while author Saltz was in residence at ICASE, NASA Langley Research Center, Hampton, Virginia. Author Choud-hary was also supported by NSF Young Investigator award (CCR-9357840) and matching funds Intel SSD division and IBM Corporation. The content of the information does not necessarily reflect the position or the policy of the Government and no official endorsement should be inferred.
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