The privatizing DOALL test: a run-time technique for DOALL loop identification and array privatization Conference Paper uri icon

abstract

  • 1994 ACM. Current parallelizing compilers cannot identify a significant fraction of fully parallel loops because they have complex or statically insufficiently defined access patterns. For this reason, we have developed the Privatizing DOALL test - a technique for identifying fully parallel loops at run-time, and dynamically privatizing scalars and arrays. The test itself is fully parallel, and can be applied to any loop, regardless of the structure of its data and/or control flow, The technique can be utilized in two modes: (i) the test is performed before executing the loop and indicates whether the loop can be executed as a DO ALL; (ii) speculatively - the loop and the test are executed simultaneously, and it is determined later if the loop was in fact parallel. The test can also be used for debugging parallel programs. We discuss how the test can be inserted automatically by the compiler and outline a cost/performance analysis that can be performed to decide when to use the test. Our conclusion is that the test should almost always be applied - because, as we show, the expected speedup for fully parallel loops is significant, and the cost of a failed test (a not fully parallel loop), is minimal. We present some experimental results on loops from the PERFECT Benchmarks which confirm our conclusion that this test can lead to significant speedups.

name of conference

  • Proceedings of the 8th international conference on Supercomputing - ICS '94

published proceedings

  • Proceedings of the 8th international conference on Supercomputing - ICS '94

author list (cited authors)

  • Rauchwerger, L., & Padua, D.

citation count

  • 60

complete list of authors

  • Rauchwerger, Lawrence||Padua, David

editor list (cited editors)

  • Gurd, J. R., & Jalby, W.

publication date

  • January 1994