A Practical Approach to DOACROSS Parallelization

  title={A Practical Approach to DOACROSS Parallelization},
  author={P. Unnikrishnan and J. Shirako and Kit Barton and Sanjay Chatterjee and Ra{\'u}l Silvera and Vivek Sarkar},
Loops with cross-iteration dependences (doacross loops) often contain significant amounts of parallelism that can potentially be exploited on modern manycore processors. However, most production-strength compilers focus their automatic parallelization efforts on doall loops, and consider doacross parallelism to be impractical due to the space inefficiencies and the synchronization overheads of past approaches. This paper presents a novel and practical approach to automatically parallelizing… Expand
The Batched DOACROSS loop parallelization algorithm
  • D. C. S. Lucas, G. Araújo
  • Computer Science
  • 2015 International Conference on High Performance Computing & Simulation (HPCS)
  • 2015
Revisiting the Parallel Strategy for DOACROSS Loops
A Dynamic Parallel Strategy for DOACROSS Loops
Polyhedral Optimizations of Explicitly Parallel Programs


An efficient algorithm for the run-time parallelization of DOACROSS loops
Compiler optimizations for parallel loops with fine-grained synchronization
Accurately Selecting Block Size at Runtime in Pipelined Parallel Programs
  • D. Lowenthal
  • Computer Science
  • International Journal of Parallel Programming
  • 2004
Compiler techniques for data synchronization in nested parallel loops
On the Interaction of Tiling and Automatic Parallelization
Compilation techniques for parallel systems
Experiments with Auto-Parallelizing SPEC2000FP Benchmarks
Optimally synchronizing DOACROSS loops on shared memory multiprocessors
  • R. Rajamony, A. Cox
  • Computer Science
  • Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques
  • 1997
On Data Synchronization For Multiprocessors
  • H. Su, P. Yew
  • Computer Science
  • The 16th Annual International Symposium on Computer Architecture
  • 1989
On data synchronization for multiprocessors