Authors: Lawrence Rauchwerger, David Padua

Venue: Proceedings of the 8th International Conference on Supercomputing (ICS)
DOI: 10.1145/181181.181254
Link to Publication

Abstract:
"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 DOALL; (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."

@inproceedings{Rauchwerger-tpdtar-1994, 
 address = {New York, NY, USA}, 
 author = {Rauchwerger, Lawrence and Padua, David}, 
 booktitle = {Proceedings of the 8th International Conference on Supercomputing}, 
 doi = {10.1145/181181.181254}, 
 isbn = {0897916654}, 
 location = {Manchester, England}, 
 numpages = {11}, 
 pages = {33–43}, 
 publisher = {Association for Computing Machinery}, 
 series = {ICS '94}, 
 title = {The Privatizing DOALL Test: A Run-Time Technique for DOALL Loop Identification and Array Privatization}, 
 url = {https://doi.org/10.1145/181181.181254}, 
 year = {1994} 
}