2013
DOI: 10.1145/2499370.2491960
|View full text |Cite
|
Sign up to set email alerts
|

Fast condensation of the program dependence graph

Abstract: Aggressive compiler optimizations are formulated around the Program Dependence Graph (PDG). Many techniques, including loop fission and parallelization are concerned primarily with dependence cycles in the PDG. The Directed Acyclic Graph of Strongly Connected Components (DAGSCC) represents these cycles directly. The naïve method to construct the DAGSCC first computes the full PDG. This approach limits adoption of aggressive optimizations because the number of analysis queries grows quadratically with program s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2016
2016
2016
2016

Publication Types

Select...
1
1

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(2 citation statements)
references
References 45 publications
(32 reference statements)
0
2
0
Order By: Relevance
“…dependence analysis [10,15,18,19,23]. Previous work has shown empirically that an improved dependence analysis can enhance the performance of automatic parallelization [27].…”
Section: Limits Of Dependence Analysismentioning
confidence: 99%
“…dependence analysis [10,15,18,19,23]. Previous work has shown empirically that an improved dependence analysis can enhance the performance of automatic parallelization [27].…”
Section: Limits Of Dependence Analysismentioning
confidence: 99%
“…c 2016 ACM 1544-3566/2016/08-ART23 $15.00 DOI: http://dx.doi.org/10.1145/2963101 One key reason for this shortfall is that most existing production compilers built on traditional wisdom often limit themselves to optimizing only small scopes in the entire program [Rauchwerger and Padua 1999;Ding and Kennedy 2004;Vandierendonck et al 2010] or kernels [Bondhugula et al 2008;Pouchet et al , 2008]. Even in some recent work, such as Johnson et al [2013], the authors only analyze individual hot loops in target applications to mark those loops as parallel or determine the validity of loop distribution. However, our experiments with several scientific applications from the SPEC benchmark suite reveal that there are many opportunities for improvement in memory (and parallel) performance of those benchmarks through global program optimizations (or transformations) such as applying loop fusion across a sequence of such hot loops.…”
Section: Introductionmentioning
confidence: 99%