LOOPer: A Learned Automatic Code Optimizer For Polyhedral Compilers
Massinissa Merouani, Afif Boudaoud, Iheb Nassim Aouadj, Nassim Tchoulak, Islem Kara Bernou, Hamza Benyamina, Fatima Benbouzid-Si Tayeb, Karima Benatchba, Hugh Leather, Riyadh Baghdadi

TL;DR
LOOPer introduces a deep learning-based polyhedral autoscheduler that significantly broadens the scope of optimizations and program applicability, achieving competitive speedups on benchmark tests.
Contribution
It is the first polyhedral autoscheduler using deep learning that supports a wide range of affine transformations and complex program structures.
Findings
LOOPer achieves a 1.84x speedup over Tiramisu.
LOOPer achieves a 1.42x speedup over Pluto.
Supports complex sequences of polyhedral transformations.
Abstract
While polyhedral compilers have shown success in implementing advanced code transformations, they still face challenges in selecting the ones that lead to the most profitable speedups. This has motivated the use of machine learning based cost models to guide the search for polyhedral optimizations. State-of-the-art polyhedral compilers have demonstrated a viable proof-of-concept of such an approach. While promising, this approach still faces significant limitations. State-of-the-art polyhedral compilers that use a deep learning cost model only support a small subset of affine transformations, limiting their ability to explore complex code transformations. Furthermore, their applicability does not scale beyond simple programs, thus excluding many program classes from their scope, such as those with non-rectangular iteration domains or multiple loop nests. These limitations significantly…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Distributed and Parallel Computing Systems
MethodsSparse Evolutionary Training · NesT
