Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
110 tokens/sec
GPT-4o
56 tokens/sec
Gemini 2.5 Pro Pro
44 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

LOOPer: A Learned Automatic Code Optimizer For Polyhedral Compilers (2403.11522v2)

Published 18 Mar 2024 in cs.PL, cs.DC, and cs.LG

Abstract: While polyhedral compilers have shown success in implementing advanced code transformations, they still have challenges in selecting the most profitable transformations that lead to the best speedups. This has motivated the use of machine learning to build cost models to guide the search for polyhedral optimizations. State-of-the-art polyhedral compilers have demonstrated a viable proof-of-concept of this approach. While such a proof-of-concept has shown promise, it still has 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 apply complex code transformations. They also only support simple programs that have a single loop nest and a rectangular iteration domain, limiting their applicability to many programs. These limitations significantly impact the generality of such compilers and autoschedulers and put into question the whole approach. In this paper, we introduce LOOPer, the first polyhedral autoscheduler that uses a deep-learning based cost model and covers a large set of affine transformations and programs. It supports the exploration of a large set of affine transformations, allowing the application of complex sequences of polyhedral transformations. It also supports the optimization of programs with multiple loop nests and with rectangular and non-rectangular iteration domains, allowing the optimization of an extensive set of programs. We implement and evaluate LOOPer and show that it achieves speedups over the state-of-the-art. On the Polybench benchmark, LOOPer achieves a geometric mean speedup of 1.59x over Tiramisu. LOOPer also achieves competitive speedups with a geometric mean speedup of 1.34x over Pluto, a state-of-the-art polyhedral compiler that does not use a machine-learning based cost model.

User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (10)
  1. Massinissa Merouani (3 papers)
  2. Khaled Afif Boudaoud (2 papers)
  3. Iheb Nassim Aouadj (4 papers)
  4. Nassim Tchoulak (3 papers)
  5. Hamza Benyamina (2 papers)
  6. Fatima Benbouzid-Si Tayeb (2 papers)
  7. Karima Benatchba (5 papers)
  8. Hugh Leather (23 papers)
  9. Riyadh Baghdadi (22 papers)
  10. Islem Kara Bernou (1 paper)

Summary

We haven't generated a summary for this paper yet.