CompilerGym: Robust, Performant Compiler Optimization Environments for AI Research

09/17/2021
by   Chris Cummins, et al.
17

Interest in applying Artificial Intelligence (AI) techniques to compiler optimizations is increasing rapidly, but compiler research has a high entry barrier. Unlike in other domains, compiler and AI researchers do not have access to the datasets and frameworks that enable fast iteration and development of ideas, and getting started requires a significant engineering investment. What is needed is an easy, reusable experimental infrastructure for real world compiler optimization tasks that can serve as a common benchmark for comparing techniques, and as a platform to accelerate progress in the field. We introduce CompilerGym, a set of environments for real world compiler optimization tasks, and a toolkit for exposing new optimization tasks to compiler researchers. CompilerGym enables anyone to experiment on production compiler optimization problems through an easy-to-use package, regardless of their experience with compilers. We build upon the popular OpenAI Gym interface enabling researchers to interact with compilers using Python and a familiar API. We describe the CompilerGym architecture and implementation, characterize the optimization spaces and computational efficiencies of three included compiler environments, and provide extensive empirical evaluations. Compared to prior works, CompilerGym offers larger datasets and optimization spaces, is 27x more computationally efficient, is fault-tolerant, and capable of detecting reproducibility bugs in the underlying compilers. In making it easy for anyone to experiment with compilers - irrespective of their background - we aim to accelerate progress in the AI and compiler research domains.

READ FULL TEXT
research
01/13/2018

A Survey on Compiler Autotuning using Machine Learning

Since the mid-1990s, researchers have been trying to use machine-learnin...
research
11/13/2017

Souper: A Synthesizing Superoptimizer

If we can automatically derive compiler optimizations, we might be able ...
research
01/27/2023

Polycraft World AI Lab (PAL): An Extensible Platform for Evaluating Artificial Intelligence Agents

As artificial intelligence research advances, the platforms used to eval...
research
04/06/2020

Bringing GNU Emacs to Native Code

Emacs Lisp (Elisp) is the Lisp dialect used by the Emacs text editor fam...
research
01/17/2020

Plato Dialogue System: A Flexible Conversational AI Research Platform

As the field of Spoken Dialogue Systems and Conversational AI grows, so ...
research
05/30/2023

IDToolkit: A Toolkit for Benchmarking and Developing Inverse Design Algorithms in Nanophotonics

Aiding humans with scientific designs is one of the most exciting of art...
research
02/17/2022

Million.js: A Fast, Compiler-Augmented Virtual DOM for Performant JavaScript UI Libraries

The need for developing and delivering interactive web applications has ...

Please sign up or login with your details

Forgot password? Click here to reset