Evaluating the Performance of Speculative DOACROSS Loop Parallelization with taskloop
Juan Salamanca, Alexandro Baldassin

TL;DR
This paper introduces a speculative execution method for OpenMP taskloop parallelization, using new clauses to improve performance on DOACROSS loops, achieving up to 1.87x speed-up in certain cases.
Contribution
It proposes Speculative Task Execution with novel clauses, enhancing parallelization of DOACROSS loops beyond existing methods.
Findings
Speed-ups of up to 1.87x on certain loops.
Improved performance over traditional ordered execution.
Effective speculative privatizations for taskloop tls.
Abstract
OpenMP provides programmers with directives to parallelize DOALL loops such as parallel for and, more recently, taskloop for task-based parallelism. On the other hand, when it is possible to prove that a loop is DOACROSS, programmers can try to parallelize it through parallel for and to use the OpenMP ordered directive to mark the region of the loop that has to be executed sequentially. However, when neither of the previous two cases can be proven, programmers have to be conservative and assume that the loop is DOACROSS (actually may DOACROSS). Previous work proposed speculative support for taskloop (tls clause) and thus made it possible to parallelize may DOACROSS loops exploiting task-based parallelism and the fact that many of them are computationally intensive and DOALL at runtime. This paper proposes Speculative Task Execution (STE) through the addition of speculative…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed systems and fault tolerance · Distributed and Parallel Computing Systems
