MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Speculative parallelization of partially parallel loops (2000) [4 citations — 2 self]

Download:
Download as a PDF | Download as a PS
by Francis Dang, Lawrence Rauchwerger
In Languages, Compilers, and Run-Time Systems for Scalable Computers
http://www.cs.tamu.edu/faculty/rwerger/pubs/lcr00.ps.gz
Add To MetaCart

Abstract:

Abstract. Current parallelizing compilers cannot identify a significant fraction of parallelizable loops because they have complex or statically insufficiently defined access patterns. We have previously proposed a framework for their identification. We speculatively executed a loop as a doall, and applied a fully parallel data dependence test to determine if it had any cross--processor dependences; if the test failed, then the loop was re--executed serially. While this method exploits doall parallelism well, it can cause slowdowns for loops with even one cross-processor flow dependence because we have to re-execute sequentially. Moreover, the existing, partial parallelism of loops is not exploited. In this paper we propose a generalization of our speculative doall parallelization technique, named Recursive LRPD test, that can extract and exploit the maximum available parallelism of any loop and that limits potential slowdowns to the overhead of the run-time dependence test itself, i.e., removes the time lost due to incorrect parallel execution. The asymptotic time-complexity is, for fully serial loops, equal to the sequential execution time. We present the base algorithm and an analysis of the

Citations

299 Advanced compiler optimizations for supercomputers – Padua, Wolfe - 1986
193 A Computer Program to Simulate Semiconductor Circuits – Nagel - 1975
159 The LRPD Test: Speculative Run-Time Parallelization of Loops with Privatization and Reduction Parallelization – Rauchwerger, Padua - 1995
125 Automatic array privatization – Tu, Padua - 1993
73 Array privatization for parallel execution of loops – Li - 1992
46 Optimizing Compilers for Supercomputers – Wolfe - 1982
18 A Scalable Method for Run-Time Loop Parallelization – Rauchwerger, Amato, et al. - 1995
16 DYNA3D: A Nonlinear, Explicit, Three-Dimensional Finite Element Code for Solid and Structural – Whirley, Engelmann - 1993
10 Feedback guided dynamic loop scheduling: Algorithms and experiments – Bull - 1998
6 Run-time parallelization overhead reduction techniques – Yu, Rauchwerger - 2000
4 Gaussian 94, Revision B.1 – Frisch - 1995
2 Data dependence and data- analysis of arrays – Maydan, Amarasinghe, et al. - 1992