TY - GEN
T1 - A hybrid approach to proving memory reference monotonicity
AU - Oancea, Cosmin E.
AU - Rauchwerger, Lawrence
N1 - Copyright:
Copyright 2013 Elsevier B.V., All rights reserved.
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.
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.
KW - access summary
KW - autoparallelization
KW - monotonicity
UR - http://www.scopus.com/inward/record.url?scp=84872716490&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84872716490&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-36036-7_5
DO - 10.1007/978-3-642-36036-7_5
M3 - Conference contribution
AN - SCOPUS:84872716490
SN - 9783642360350
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 61
EP - 75
BT - Languages and Compilers for Parallel Computing - 24th International Workshop, LCPC 2011, Revised Selected Papers
T2 - 24th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2011
Y2 - 8 September 2011 through 10 September 2011
ER -