Automatic generation of nested, fork-join parallelism

  • Michael Burke
  • , Ron Cytron
  • , Jeanne Ferrante
  • , Wilson Hsieh

Research output: Contribution to journalArticlepeer-review

25 Scopus citations

Abstract

This paper presents an efficient algorithm that automatically generates a parallel program from a dependence-based representation of a sequential program. The resulting parallel program consists of nested fork-join constructs, composed from the loops and statements of the sequential program. Data dependences are handled by two techniques. One technique implicitly satisfies them by sequencing, thereby reducing parallelism. Where increased parallelism results, the other technique eliminates them by privatization: the introduction of process-specific private instances of variables. Additionally, the algorithm determines when copying values of such instances in and out of nested parallel constructs results in greater parallelism. This is the first algorithm for automatically generating parallelism for such a general model. The algorithm generates as much parallelism as is possible in our model while minimizing privatization.

Original languageEnglish
Pages (from-to)71-88
Number of pages18
JournalJournal of Supercomputing
Volume3
Issue number2
DOIs
StatePublished - Jul 1989

Fingerprint

Dive into the research topics of 'Automatic generation of nested, fork-join parallelism'. Together they form a unique fingerprint.

Cite this