Proceedings of the 8th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '81 1981
DOI: 10.1145/567532.567555
|View full text |Cite
|
Sign up to set email alerts
|

Dependence graphs and compiler optimizations

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
165
0
1

Year Published

1984
1984
2009
2009

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 513 publications
(166 citation statements)
references
References 13 publications
0
165
0
1
Order By: Relevance
“…Node splitting has been applied in [31] to break cycles of dependences in the data dependence graph and, hence, generate better code for parallel machines. We believe node splitting also has an important role in process partitioning for multiprocessors in that it can be used to reduce communication and synchronization costs: nodes can be duplicated in several processes to lower communication and synchronization costs between them.…”
Section: Node Splittingmentioning
confidence: 99%
See 1 more Smart Citation
“…Node splitting has been applied in [31] to break cycles of dependences in the data dependence graph and, hence, generate better code for parallel machines. We believe node splitting also has an important role in process partitioning for multiprocessors in that it can be used to reduce communication and synchronization costs: nodes can be duplicated in several processes to lower communication and synchronization costs between them.…”
Section: Node Splittingmentioning
confidence: 99%
“…The Data Flow Graph [36,37] represents global data dependence at the operator level (called the atomic level in [31]). Transformations that involve both control and data dependence cannot be specified in a consistent manner with this form, however, since control is represented by a conventional control flow graph.…”
Section: Introduction This Paper Introduces a Program Representationmentioning
confidence: 99%
“…This kind of anomaly, often called a data race, precludes the parallelization of the above loop. In the literature of compilation for parallel execution, a potential data race is referred to as a loop-carried dependence 3,34]. Without explicit synchronization, only loops with no carried dependences may be safely executed in parallel.…”
Section: Do I = 1 100 A(i) = A(50) + 1 Enddomentioning
confidence: 99%
“…Loop distribution separates independent statements inside a single loop into multiple loops with identical headers 3,34]. It is used to expose partial parallelism by separating statements which may be parallelized from those that must be executed sequentially.…”
Section: Loop Distributionmentioning
confidence: 99%
See 1 more Smart Citation