A Deep Learning Based Cost Model for Automatic Code Optimization
Riyadh Baghdadi, Massinissa Merouani, Mohamed-Hicham Leghettas, Kamel, Abdous, Taha Arbaoui, Karima Benatchba, Saman Amarasinghe

TL;DR
This paper introduces a deep learning-based cost model integrated into the Tiramisu compiler, enabling automatic code optimization by accurately predicting speedups without heavy feature engineering.
Contribution
A novel deep learning cost model for code optimization that works on full programs and improves transformation selection accuracy.
Findings
Achieves 16% mean absolute percentage error in speedup prediction.
Enables Tiramisu to match or outperform state-of-the-art compilers.
Reduces reliance on heavy feature engineering.
Abstract
Enabling compilers to automatically optimize code has been a longstanding goal for the compiler community. Efficiently solving this problem requires using precise cost models. These models predict whether applying a sequence of code transformations reduces the execution time of the program. Building an analytical cost model to do so is hard in modern x86 architectures due to the complexity of the microarchitecture. In this paper, we present a novel deep learning based cost model for automatic code optimization. This model was integrated in a search method and implemented in the Tiramisu compiler to select the best code transformations. The input of the proposed model is a set of simple features representing the unoptimized code and a sequence of code transformations. The model predicts the speedup expected when the code transformations are applied. Unlike previous models, the proposed…
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 · Embedded Systems Design Techniques
