Static Neural Compiler Optimization via Deep Reinforcement Learning
Rahim Mammadli, Ali Jannesari, Felix Wolf

TL;DR
This paper introduces a deep reinforcement learning method to optimize compiler sequences, outperforming traditional approaches like LLVM's O3, and achieving significant speedups without relying on dynamic program features.
Contribution
It presents a novel RL-based approach to phase-ordering in compilers that learns static optimization sequences, reducing reliance on manual tuning and dynamic program information.
Findings
Achieved up to 1.32x speedup on unseen programs.
Outperformed LLVM's O3 sequence on training data.
Operates without dynamic program features.
Abstract
The phase-ordering problem of modern compilers has received a lot of attention from the research community over the years, yet remains largely unsolved. Various optimization sequences exposed to the user are manually designed by compiler developers. In designing such a sequence developers have to choose the set of optimization passes, their parameters and ordering within a sequence. Resulting sequences usually fall short of achieving optimal runtime for a given source code and may sometimes even degrade the performance when compared to unoptimized version. In this paper, we employ a deep reinforcement learning approach to the phase-ordering problem. Provided with sub-sequences constituting LLVM's O3 sequence, our agent learns to outperform the O3 sequence on the set of source codes used for training and achieves competitive performance on the validation set, gaining up to 1.32x speedup…
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.
