1989
DOI: 10.1007/bf00129843
|View full text |Cite
|
Sign up to set email alerts
|

Automatic generation of nested, fork-join parallelism

Abstract: This paper presents an efficient algorithm that automatically generates a parallel program from a dependence-based representation of a sequential program. The resulti~ parallel program consists of nested fork-join constructs, composed from the loops and statements of the sequential program. Data dependences are handled b,, two techniques. One technique implicitly satisfies them b? sequencing, thereby reducing parallelism. Where increased parallelism results, the other technique eliminates them by privatization… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
14
0

Year Published

1994
1994
2018
2018

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 38 publications
(15 citation statements)
references
References 17 publications
(13 reference statements)
1
14
0
Order By: Relevance
“…It may be possible, however, to transform programs so they contain more intrinsic parallelism. For example, scientific application parallelism strategies often leverage privatization [4] to enhance parallelism. Basic transformations such as privatization, accumulator expansion, or other techniques which expose the order agnostic nature of many algorithms may create more opportunities for parallelism.…”
Section: A Baseline Performancementioning
confidence: 99%
“…It may be possible, however, to transform programs so they contain more intrinsic parallelism. For example, scientific application parallelism strategies often leverage privatization [4] to enhance parallelism. Basic transformations such as privatization, accumulator expansion, or other techniques which expose the order agnostic nature of many algorithms may create more opportunities for parallelism.…”
Section: A Baseline Performancementioning
confidence: 99%
“…Privatization creates, for each processor cooperating on the execution of the loop, private copies of the program variables that give rise to anti or output dependences (see, e.g., [7,22,23,39,40]). The loop shown in Fig.…”
Section: Preliminariesmentioning
confidence: 99%
“…Privatization creates, for each processor cooperating on the execution of the loop, private copies of the program variables that give rise to anti or output dependences (see, e.g., [7,18,19,31]). The loop shown in Figure 1(a), is an example of a loop that can be executed in parallel by using privatization; the anti dependences between statement S2 of iteration i and statement S1 of iteration i + 1 , for 1 i n = 2 , can be removed by privatizing the temporary variable tmp.…”
Section: Preliminariesmentioning
confidence: 99%