Awesome machine learning for compilers and program optimisation

A curated list of awesome research papers, datasets, and tools for applying machine learning techniques to compilers and program optimisation.
Contents
Papers
Survey
- <img src="https://img.shields.io/badge/23-pages-green.svg" alt="23-pages" align="top"> Machine Learning in Compiler Optimisation - Zheng Wang and Michael O'Boyle, Proceedings of the IEEE, 2018
- <img src="https://img.shields.io/badge/43-pages-green.svg" alt="43-pages" align="top"> A survey on compiler autotuning using machine learning - Amir H. Ashouri, William Killian, John Cavazos, Gianluca Palermo, and Cristina Silvano, ACM Computing Surveys (CSUR), 2018
- <img src="https://img.shields.io/badge/43-pages-green.svg" alt="43-pages" align="top"> A survey of machine learning for big code and naturalness - Miltiadis Allamanis, Earl T. Barr, Premkumar Devanbu, and Charles Sutton, ACM Computing Surveys (CSUR), 2018
- <img src="https://img.shields.io/badge/9-pages-green.svg" alt="9-pages" align="top"> A Taxonomy of ML for Systems Problems - Martin Maas, IEEE Micro, 2020
- <img src="https://img.shields.io/badge/34-pages-green.svg" alt="34-pages" align="top"> The Deep Learning Compiler: A Comprehensive Survey - Mingzhen Li, Yi Liu, Xiaoyan Liu, Qingxiao Sun, Xin You, Hailong Yang, Zhongzhi Luan, Lin Gan, Guangwen Yang, Depei Qian, IEEE Transactions on Parallel and Distributed Systems, 2021
Iterative Compilation and Compiler Option Tuning
- <img src="https://img.shields.io/badge/13-pages-green.svg" alt="13-pages" align="top"> SRTuner: Effective Compiler Optimization
Customization by Exposing Synergistic Relations - Sunghyun Park, Salar Latifi, Yongjun Park, Armand Behroozi, Byungsoo Jeon, Scott Mahlke. CGO 2022.
- <img src="https://img.shields.io/badge/25-pages-green.svg" alt="25-pages" align="top"> Iterative Compilation Optimization Based on Metric Learning and Collaborative Filtering - Hongzhi Liu, Jie Luo, Ying Li, Zhonghai Wu. ACM TACO 2022.
- <img src="https://img.shields.io/badge/17-pages-green.svg" alt="17-pages" align="top"> Bayesian Optimization is Superior to Random Search for
Machine Learning Hyperparameter Tuning: Analysis of the Black-Box Optimization Challenge 2020 - Ryan Turner, David Eriksson, Michael McCourt, Juha Kiili, Eero Laaksonen, Zhen Xu, Isabelle Guyon. arXiv 2021.
- <img src="https://img.shields.io/badge/16-pages-green.svg" alt="16-pages" align="top"> Bliss: auto-tuning complex applications using a pool of diverse lightweight learning models - RB Roy, T Patel, V Gadepally, D Tiwari. PLDI 2021.
- <img src="https://img.shields.io/badge/12-pages-green.svg" alt="12-pages" align="top"> Efficient Compiler Autotuning via Bayesian Optimization - Junjie Chen, Ningxin Xu, Peiqi Chen, Hongyu Zhang. ICSE 2021.
- <img src="https://img.shields.io/badge/11-pages-green.svg" alt="11-pages" align="top"> Customized Monte Carlo Tree Search for LLVM/Polly's Composable Loop Optimization Transformations - Jaehoon Koo, Prasanna Balaprakash, Michael Kruse, Xingfu Wu, Paul Hovland, Mary Hall. Arxiv.org, 2021.
- <img src="https://img.shields.io/badge/11-pages-green.svg" alt="11-pages" align="top"> Improved basic block reordering - Andy Newell and Sergey Pupyrev. IEEE Transactions on Computers, 2020.
- <img src="https://img.shields.io/badge/11-pages-green.svg" alt="11-pages" align="top"> Static Neural Compiler Optimization via Deep Reinforcement Learning - Rahim Mammadli, Ali Jannesari, Felix Wolf. LLVM HPC Workshop, 2020.
- <img src="https://img.shields.io/badge/11-pages-green.svg" alt="11-pages" align="top"> Autotuning Search Space for Loop Transformations - Michael Kruse, Hal Finkel, Xingfu Wu. LLVM HPC Workshop, 2020.
- <img src="https://img.shields.io/badge/11-pages-green.svg" alt="11-pages" align="top"> A Collaborative Filtering Approach for the Automatic Tuning of Compiler Optimisations - Stefano Cereda, Gianluca Palermo, Paolo Cremonesi, and Stefano Doni, LCTES 2020.
- <img src="https://img.shields.io/badge/12-pages-green.svg" alt="12-pages" align="top"> Autophase: Compiler phase-ordering for hls with deep reinforcement learning. Ameer Haj-Ali, Qijing Huang, William Moses, John Xiang, Ion Stoica, Krste Asanovic, John Wawrzynek. MLSys 2020.
- <img src="https://img.shields.io/badge/10-pages-green.svg" alt="10-pages" align="top"> FuncyTuner: Auto-tuning Scientific Applications With Per-loop
Compilation - Tao Wang, Nikhil Jain, David Beckingsale, David Böhme, Frank Mueller, Todd Gamblin. ICPP 2019.
- <img src="https://img.shields.io/badge/21-pages-green.svg" alt="21-pages" align="top"> Micomp: Mitigating the compiler phase-ordering problem using optimization sub-sequences and machine learning - Amir H. Ashouri, Andrea Bignoli, Gianluca Palermo, Cristina Silvano, Sameer Kulkarni, and John Cavazos. ACM Transactions on Architecture and Code Optimization (TACO) 2017.
- <img src="https://img.shields.io/badge/26-pages-green.svg" alt="26-pages" align="top"> Iterative Schedule Optimization for Parallelization in the
Polyhedron Model - Stefan Ganser, Armin Grösslinger, Norbert Siegmund, Sven Apel, and Christian Lengauer. ACM Transactions on Architecture and Code Optimization (TACO), 2017.
- <img src="https://img.shields.io/badge/14-pages-green.svg" alt="14-pages" align="top"> Learning to superoptimize programs - Rudy Bunel, Alban Desmaison, M. Pawan Kumar, Philip H.S. Torr, Pushmeet Kohlim. ICLR 2017
- <img src="https://img.shields.io/badge/25-pages-green.svg" alt="25-pages" align="top"> Continuous learning of compiler heuristics - Michele Tartara and Stefano Crespi Reghizzi. ACM Transactions on Architecture and Code Optimization (TACO), 2013.
- <img src="https://img.shields.io/badge/16-pages-green.svg" alt="16-pages" align="top"> Mitigating the compiler optimization phase-ordering problem using machine learning - Sameer Kulkarni and John Cavazos. OOPSLA 2012.
- <img src="https://img.shields.io/badge/10-pages-green.svg" alt="10-pages" align="top"> An evaluation of different modeling techniques for iterative compilation - Eunjung Park, Sameer Kulkarni, and John Cavazos. CASES 2011.
- <img src="https://img.shields.io/badge/12-pages-green.svg" alt="12-pages" align="top"> Evaluating iterative optimization across 1000 datasets - Yang Chen, Yuanjie Huang, Lieven Eeckhout, Grigori Fursin, Liang Peng, Olivier Temam, and Chengyong Wu. PLDI 2010
- <img src="https://img.shields.io/badge/11-pages-green.svg" alt="11-pages" align="top"> Iterative optimization in the polyhedral model: Part II, multidimensional time - Louis-Noël Pouchet, Cédric Bastoul, Albert Cohen, and John Cavazos. PLDI 2008.
- <img src="https://img.shields.io/badge/10-pages-green.svg" alt="10-pages" align="top"> Cole: compiler optimization level exploration - Kenneth Hoste and Lieven Eeckhout. CGO 2008.
- <img src="https://img.shields.io/badge/13-pages-green.svg" alt="13-pages" align="top"> MILEPOST GCC: machine learning based research compiler - Grigori Fursin, Cupertino Miranda, Olivier Temam, Mircea Namolaru, Elad Yom-Tov, Ayal Zaks, Bilha Mendelson et al., 2008
- <img src="https://img.shields.io/badge/13-pages-green.svg" alt="13-pages" align="top"> Evaluating heuristic optimization phase order search algorithms - J. W. Davidson, Gary S. Tyson, D. B. Whalley, and P. A. Kulkarni. CGO 2007.
- <img src="https://img.shields.io/badge/13-pages-green.svg" alt="13-pages" align="top"> Rapidly selecting good compiler optimizations using performance counters - John Cavazos, Grigori Fursin, Felix Agakov, Edwin Bonilla, Michael FP O'Boyle, and Olivier Temam. CGO 2007.
- <img src="https://img.shields.io/badge/11-pages-green.svg" alt="11-pages" align="top"> Using machine learning to focus iterative optimization - Felix Agakov, Edwin Bonilla, John Cavazos, Björn Franke, Grigori Fursin, Michael FP O'Boyle, John Thomson, Marc Toussaint, and Christopher KI Williams. CGO 2006.
- <img src="https://img.shields.io/badge/12-pages-green.svg" alt="12-pages" align="top"> Method-specific dynamic compilation using logistic regression - John Cavazos and Michael FP O'boyle. OOPSLA 2005.
- <img src="https://img.shields.io/badge/14-pages-green.svg" alt="14-pages" align="top"> Predicting unroll factors using supervised classification - Mark Stephenson and Saman Amarasinghe. CGO 2005.
- <img src="https://img.shields.io/badge/12-pages-green.svg" alt="12-pages" align="top"> Fast searches for effective optimization phase sequences - Prasad Kulkarni, Stephen Hines, Jason Hiser, David Whalley, Jack Davidson, and Douglas Jones. PLDI 2004.
Instruction-level Optimisation
- <img src="https://img.shields.io/badge/12-pages-green.svg" alt="12-pages" align="top"> RL4ReAl: Reinforcement Learning for Register Allocation - S. VenkataKeerthy, Siddharth Jain, Anilava Kundu, Rohit Aggarwal, Albert Cohen, Ramakrishna Upadrasta. CC 2023.
- <img src="https://img.shields.io/badge/12-pages-green.svg" alt="12-pages" align="top"> Reinforcement Learning assisted Loop Distribution for Locality and Vectorization - Shalini Jain, S. VenkataKeerthy, Rohit Aggarwal, Tharun Kumar Dangeti, Dibyendu Das, Ramakrishna Upadrasta. LLVM HPC Workshop 2022.
- <img src="https://img.shields.io/badge/17-pages-green.svg" alt="17-pages" align="top"> Discovering faster matrix multiplication algorithms with reinforcement learning - Fawzi, Alhussein, Matej Balog, Aja Huang, Thomas Hubert, Bernardino Romera-Paredes, Mohammadamin Barekatain, Alexander Novikov et al. Nature 2022
- <img src="https://img.shields.io/badge/13-pages-green.svg" alt="13-pages" align="top"> A Reinforcement Learning Environment for Polyhedral Optimizations - Alexander Brauckmann, Andrés Goens, Jeronimo