Skip to content

Must read research papers and links to tools and datasets that are related to using machine learning for compilers and systems optimisation

License

Notifications You must be signed in to change notification settings

zwang4/awesome-machine-learning-in-compilers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome machine learning for compilers and program optimisation

Awesome Maintenance

A curated list of awesome research papers, datasets, and tools for applying machine learning techniques to compilers and program optimisation.

Contents

Papers

Survey

Iterative Compilation and Compiler Option Tuning

Instruction-level Optimisation

Auto-tuning and Design Space Exploration

Parallelism Mapping and Task Scheduling

Domain-specific Optimisation

Languages and Compilation

Code Size Reduction

Cost and Performance Models

Learning Program Representation

Enabling ML in Compilers and Systems Optimisation

Memory/Cache Modeling/Analysis

  • 25-pages Optimizing Memory Mapping Using Deep Reinforcement Learning - Pengming Wang, Mikita Sazanovich, Berkin Ilbeyi, Phitchaya Mangpo Phothilimthana, Manish Purohit, Han Yang Tay, Ngân Vũ, Miaosen Wang, Cosmin Paduraru, Edouard Leurent, Anton Zhernov, Julian Schrittwieser, Thomas Hubert, Robert Tung, Paula Kurylowicz, Kieran Milan, Oriol Vinyals, Daniel J. Mankowitz. arxiv 2023.
  • 10-pages Learning Memory Access Patterns - Milad Hashemi, Kevin Swersky, Jamie A. Smith, Grant Ayers, Heiner Litz, Jichuan Chang, Christos Kozyrakis, Parthasarathy Ranganathan. ICML 2018
  • 26-pages Static Prediction of Silent Stores - Fernando Magno Quintao Pereira, Guilherme Vieira Leobas and Abdoulaye Gamatie. TACO 2019. Code and Data

Books

Talks and Tutorials

Software

  • ML-Compiler-Bridge - Library to interface Compilers and ML models for ML-Enabled Compiler Optimizations (paper).
  • Supersonic - Automate reinforcement learning architecture design (paper).
  • CompilerGym - Reinforcement learning environments for compiler optimizations (paper).
  • CodeBert - pre-trained DNN models for programming languages (paper).
  • IR2Vec - LLVM IR based program embeddings for machine learning (paper).
  • programl - LLVM and XLA IR program representation for machine learning (paper).
  • NeuroVectorizer - Using deep reinforcement learning (RL) to predict optimal vectorization compiler pragmas (paper).
  • TVM - Open Deep Learning Compiler Stack for cpu, gpu and specialized accelerators (paper; slides).
  • clgen - Benchmark generator using LSTMs (paper; slides).
  • COBAYN - Compiler Autotuning using BNs (paper).
  • OpenTuner - Framework for building domain-specific multi-objective program autotuners (paper; slides)
  • ONNX-MLIR - Representation and Reference Lowering of ONNX Models in MLIR Compiler Infrastructure (paper).
  • IREE - A retargetable MLIR-based machine learning compiler and runtime toolkit.

Benchmarks and Datasets

Conferences

Journals

How to Contribute

See Contribution Guidelines. TL;DR: send one of the maintainers a pull request.