Loading...
Please wait, while we are loading the content...
Similar Documents
Speculative Parallelization of Partially Parallel Loops (2000)
| Content Provider | CiteSeerX |
|---|---|
| Author | Dang, Francis Rauchwerger, Lawrence |
| Description | 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 different heuristics for its practical application. Some preliminary experimental results on loops from Track will show the performance of this new technique. |
| File Format | |
| Language | English |
| Publisher Date | 2000-01-01 |
| Publisher Institution | 5TH INTERNATIONAL WORKSHOP ON LANGUAGES, COMPILERS, AND RUN-TIME SYSTEMS FOR SCALABLE COMPUTERS (SELECTED PAPERS) |
| Access Restriction | Open |
| Subject Keyword | Different Heuristic Potential Slowdown Base Algorithm Speculative Doall Parallelization Technique Partially Parallel Loop Significant Fraction Sequential Execution Time Practical Application Recursive Lrpd Test Defined Access Pattern New Technique Maximum Available Parallelism Cross-processor Dependence Asymptotic Time-complexity Doall Parallelism Run-time Dependence Test Cross-processor Flow Dependence Parallel Data Dependence Test Preliminary Experimental Result Parallel Execution Serial Loop Parallelizable Loop Partial Parallelism Speculative Parallelization |
| Content Type | Text |
| Resource Type | Article |