TY - CHAP
T1 - A Hybrid Approach to Proving Memory Reference Monotonicity
AU - Oancea, Cosmin E.
AU - Rauchwerger, Lawrence
N1 - KAUST Repository Item: Exported on 2020-10-01
Acknowledged KAUST grant number(s): KUS-C1-016-04
Acknowledgements: This research was supported in part by NSF awards CRI-0551685, CCF-0833199, CCF-0830753, IIS-096053, IIS-0917266, NSF/DNDOaward 2008-DN-077-ARI018-02,by the DOE NNSA under the Predictive ScienceAcademic Alliances Program by grant DE-FC52-08NA28616, by by Chevron,IBM, Intel, Oracle/Sun and by Award KUS-C1-016-04, made by King AbdullahUniversity of Science and Technology (KAUST).
This publication acknowledges KAUST support, but has no KAUST affiliated authors.
PY - 2013
Y1 - 2013
N2 - Array references indexed by non-linear expressions or subscript arrays represent a major obstacle to compiler analysis and to automatic parallelization. Most previous proposed solutions either enhance the static analysis repertoire to recognize more patterns, to infer array-value properties, and to refine the mathematical support, or apply expensive run time analysis of memory reference traces to disambiguate these accesses. This paper presents an automated solution based on static construction of access summaries, in which the reference non-linearity problem can be solved for a large number of reference patterns by extracting arbitrarily-shaped predicates that can (in)validate the reference monotonicity property and thus (dis)prove loop independence. Experiments on six benchmarks show that our general technique for dynamic validation of the monotonicity property can cover a large class of codes, incurs minimal run-time overhead and obtains good speedups. © 2013 Springer-Verlag.
AB - Array references indexed by non-linear expressions or subscript arrays represent a major obstacle to compiler analysis and to automatic parallelization. Most previous proposed solutions either enhance the static analysis repertoire to recognize more patterns, to infer array-value properties, and to refine the mathematical support, or apply expensive run time analysis of memory reference traces to disambiguate these accesses. This paper presents an automated solution based on static construction of access summaries, in which the reference non-linearity problem can be solved for a large number of reference patterns by extracting arbitrarily-shaped predicates that can (in)validate the reference monotonicity property and thus (dis)prove loop independence. Experiments on six benchmarks show that our general technique for dynamic validation of the monotonicity property can cover a large class of codes, incurs minimal run-time overhead and obtains good speedups. © 2013 Springer-Verlag.
UR - http://hdl.handle.net/10754/597290
UR - http://link.springer.com/10.1007/978-3-642-36036-7_5
UR - http://www.scopus.com/inward/record.url?scp=84872716490&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-36036-7_5
DO - 10.1007/978-3-642-36036-7_5
M3 - Chapter
SN - 9783642360350
SP - 61
EP - 75
BT - Languages and Compilers for Parallel Computing
PB - Springer Nature
ER -