awesome-machine-learning-in-compilers icon indicating copy to clipboard operation
awesome-machine-learning-in-compilers copied to clipboard

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

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
    • Parallelism Mapping and Task Scheduling
    • Languages and Compilation
    • Auto-tuning and Design Space Exploration
    • Code Size Reduction
    • Cost and Performance Models
    • Domain-specific Optimisation
    • Learning Program Representation
    • Enabling ML in Compilers and Systems Optimisation
    • Memory/Cache Modeling/Analysis
  • Books
  • Talks and Tutorials
  • Software
  • Benchmarks and Datasets
  • Conferences
  • Journals
  • How to Contribute

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

  • 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

Books

Talks and Tutorials

Software

  • Supersonic - Automate reinforcement learning architecture design (paper).
  • CompilerGym - Reinforcement learning environments for compiler optimizations (paper).
  • CodeBert - pre-trained DNN models for programming languages (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).

Benchmarks and Datasets

Conferences

Journals

How to Contribute

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