A Novel Loop Fission Technique Inspired by Implicit Computational Complexity
Cl\'ement Aubert, Thomas Rubiano (UP13), Neea Rusch, Thomas Seiller, (CNRS, UP13)

TL;DR
This paper introduces a new loop fission technique inspired by Implicit Computational Complexity that enables automatic parallelization of loops in imperative programs, demonstrating comparable performance gains to existing tools.
Contribution
The paper presents a novel, ICC-inspired loop splitting algorithm that is language-agnostic, correct, and applicable to all loop types, including those with unknown or complex dependencies.
Findings
Achieves parallelization gains similar to state-of-the-art tools
Proven to preserve semantic correctness
Applicable to all loop types, even with complex dependencies
Abstract
This work explores an unexpected application of Implicit Computational Complexity (ICC) to parallelize loops in imperative programs. Thanks to a lightweight dependency analysis, our algorithm allows splitting a loop into multiple loops that can be run in parallel, resulting in gains in terms of execution time similar to state-of-the-art automatic parallelization tools when both are applicable. Our graph-based algorithm is intuitive, language-agnostic, proven correct, and applicable to all types of loops, even if their loop iteration space is unknown statically or at compile time, if they are not in canonical form or if they contain loop-carried dependency. As contributions we deliver the computational technique, proof of its preservation of semantic correctness, and experimental results to quantify the expected performance gains. Our benchmarks also show that the technique could be…
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 · Cloud Computing and Resource Management · Interconnection Networks and Systems
