TY - GEN
T1 - The lrpd test
T2 - 1995 ACM SIGPLAN Conference on Programming language Design and Implementation, PLDI 1995
AU - Rauchwerger, Lawrence
AU - Padua, David
N1 - Publisher Copyright:
© 1995 ACM.
PY - 1995/6/18
Y1 - 1995/6/18
N2 - Current parallelizing compilers cannot identify a significantfraction of parallelizable loops because they have complex or statically insufficiently defined access patterns. As parallelizable loops arise frequently in practice, we advocate a novel framework for their identification: Speculatively execute the loop as a do all, and apply a fully parallel data dependence test to determine if it had any cross-iteration dependence; if the test fails, then the loop is re-executed serially. Since, from our experience, a significant amount of the available parallelism in Fortran programs can be exploited by loops transformed through privatization and reductionparallelization, our methods can speculatively apply these transformations and then check their validity at run-time. Another important contribution of this paper is a novel method for reduction recognition which goes beyond syntactic pattetm matching: It detects at run-time if the values stored in art array participate in a reduction operation, even if they are transferred through private variables and/or are affected by statically unpredictable control flow, We present experimental results on loops from the PERFECT Benchmarks which substantiate our claim that these techniques can yield significant speedups which are often superior to those obtainable by inspector/executor methods.
AB - Current parallelizing compilers cannot identify a significantfraction of parallelizable loops because they have complex or statically insufficiently defined access patterns. As parallelizable loops arise frequently in practice, we advocate a novel framework for their identification: Speculatively execute the loop as a do all, and apply a fully parallel data dependence test to determine if it had any cross-iteration dependence; if the test fails, then the loop is re-executed serially. Since, from our experience, a significant amount of the available parallelism in Fortran programs can be exploited by loops transformed through privatization and reductionparallelization, our methods can speculatively apply these transformations and then check their validity at run-time. Another important contribution of this paper is a novel method for reduction recognition which goes beyond syntactic pattetm matching: It detects at run-time if the values stored in art array participate in a reduction operation, even if they are transferred through private variables and/or are affected by statically unpredictable control flow, We present experimental results on loops from the PERFECT Benchmarks which substantiate our claim that these techniques can yield significant speedups which are often superior to those obtainable by inspector/executor methods.
UR - http://www.scopus.com/inward/record.url?scp=84946439752&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84946439752&partnerID=8YFLogxK
U2 - 10.1145/207110.207148
DO - 10.1145/207110.207148
M3 - Conference contribution
AN - SCOPUS:84946439752
T3 - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
SP - 218
EP - 232
BT - Proceedings of the ACM SIGPLAN 1995 Conference on Programming language Design and Implementation, PLDI 1995
PB - Association for Computing Machinery
Y2 - 18 June 1995 through 21 June 1995
ER -