A Novel Loop Fission Technique Inspired by Implicit Computational Complexity - Université Sorbonne Paris Nord Accéder directement au contenu
Pré-Publication, Document De Travail Année : 2022

A Novel Loop Fission Technique Inspired by Implicit Computational Complexity

Résumé

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 seamlessly integrated into compiler passes or other automatic parallelization suites. We assert that this original and automatable loop transformation method was discovered thanks to the "orthogonal" approach offered by ICC.
Fichier principal
Vignette du fichier
main.pdf (407.08 Ko) Télécharger le fichier

Dates et versions

hal-03669387 , version 1 (16-05-2022)
hal-03669387 , version 2 (19-09-2022)

Identifiants

Citer

Clément Aubert, Thomas Rubiano, Neea Rusch, Thomas Seiller. A Novel Loop Fission Technique Inspired by Implicit Computational Complexity. 2022. ⟨hal-03669387v1⟩
209 Consultations
258 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More