Abstract
In compiling applications for distributed memory machines, runtime analysis is required when data to be communicated cannot be determined at compile-time. One such class of applications requiring runtime analysis is block structured codes. These codes employ multiple structured meshes, which may be nested (for multigrid codes) and/or irregularly coupled (called multiblock or irregularly coupled regular mesh problems). In this paper, we present runtime and compile-time analysis for compiling such applications on distributed memory parallel machines in an efficient and machine-independent fashion. We have designed and implemented a runtime library which supports the runtime analysis required. The library is currently implemented on several different systems. We have also developed compiler analysis for determining data access patterns at compile-time and inserting calls to the appropriate runtime routines. Our methods can be used by compilers for HPF-like parallel programming languages in compiling codes in which data distribution, loop bounds and/or strides are unknown at compile-time. To demonstrate the efficacy of our approach, we have implemented our compiler analysis in the Fortran 90D/HPF compiler developed at Syracuse University. We have experimented with a multi-block Navier-Stokes solver template and a multigrid code. Our experimental results show that our primitives have low runtime communication overheads and the compiler parallelized codes perform within 20% of the codes parallelized by manually inserting calls to the runtime library.
| Original language | English |
|---|---|
| Pages (from-to) | 747-754 |
| Number of pages | 8 |
| Journal | IEEE Transactions on Parallel and Distributed Systems |
| Volume | 6 |
| Issue number | 7 |
| DOIs | |
| State | Published - Jul 1995 |
Keywords
- Compiler support
- distributed memory parallel machines
- High-Performance Fortran
- multiblock codes
- multigrid codes
- runtime support
Fingerprint
Dive into the research topics of 'An Integrated Runtime and Compile-Time Approach for Parallelizing Structured and Block Structured Applications'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver