Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization 2010
DOI: 10.1145/1772954.1772975
|View full text |Cite
|
Sign up to set email alerts
|

Speculative parallelization of partial reduction variables

Abstract: Reduction variables are an important class of cross-thread dependence that can be parallelized by exploiting the associativity and commutativity of their operation. In this paper, we define a class of shared variables called partial reduction variables (PRV). These variables either cannot be proven to be reductions or they violate the requirements of a reduction variable in some way. We describe an algorithm that allows the compiler to detect PRVs, and we also discuss the necessary requirements to parallelize … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
15
0

Year Published

2013
2013
2017
2017

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 14 publications
(15 citation statements)
references
References 44 publications
0
15
0
Order By: Relevance
“…Multidimensional retiming has been previously studied in the literature, mostly for the purpose of parallelism exposure [6,16,36,45] or to fix transformations for legality [30,41]. We take a different approach, seeking a characterization of different data reuse patterns and register pressure when applying arbitrary multidimensional retiming.…”
Section: Multidimensional Retimingmentioning
confidence: 99%
“…Multidimensional retiming has been previously studied in the literature, mostly for the purpose of parallelism exposure [6,16,36,45] or to fix transformations for legality [30,41]. We take a different approach, seeking a characterization of different data reuse patterns and register pressure when applying arbitrary multidimensional retiming.…”
Section: Multidimensional Retimingmentioning
confidence: 99%
“…The authors of [20] present an approach for the parallelization of a wide class of scalar reductions. They start from the observation that many reductions in real benchmark programs are not detected by current static analysis approaches.…”
Section: Related Workmentioning
confidence: 99%
“…Early work focused on well structured Fortran and paid little attention to automatic compiler-based detection. More recent work has attempted to find reductions in more complex C code with partial reduction variables [20]. This is based on update chains in the dependence graph and requires hardware speculation support, but is unable to detect histogram reductions.…”
Section: Introductionmentioning
confidence: 99%
“…A partial reduction occurs when some locations of A[] are read or written outside the reduction sentence. In this case, the reduction condition is fulfilled only in a portion of the reduction variable [4].…”
Section: Reduxstm Designmentioning
confidence: 99%