An Integrated Runtime and Compile-Time Approach for Parallelizing Structured and Block Structured Applications

Gagan Agrawal, Alan Sussman, Joel Saltz

Research output: Contribution to journalArticlepeer-review

51 Scopus citations

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 languageEnglish (US)
Pages (from-to)747-754
Number of pages8
JournalIEEE Transactions on Parallel and Distributed Systems
Volume6
Issue number7
DOIs
StatePublished - Jul 1995

Keywords

  • Compiler support
  • distributed memory parallel machines
  • High-Performance Fortran
  • multiblock codes
  • multigrid codes
  • runtime support

ASJC Scopus subject areas

  • Signal Processing
  • Hardware and Architecture
  • Computational Theory and Mathematics

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