CompilerGym: Robust, Performant Compiler Optimization Environments for
AI Research
- URL: http://arxiv.org/abs/2109.08267v1
- Date: Fri, 17 Sep 2021 01:02:27 GMT
- Title: CompilerGym: Robust, Performant Compiler Optimization Environments for
AI Research
- Authors: Chris Cummins, Bram Wasti, Jiadong Guo, Brandon Cui, Jason Ansel,
Sahir Gomez, Somya Jain, Jia Liu, Olivier Teytaud, Benoit Steiner, Yuandong
Tian, Hugh Leather
- Abstract summary: Interest in applying Artificial Intelligence (AI) techniques to compiler optimizations is increasing rapidly.
But compiler research has a high entry barrier.
We introduce CompilerGym, a set of environments for real world compiler optimization tasks.
We also introduce a toolkit for exposing new optimization tasks to compiler researchers.
- Score: 26.06438868492976
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: 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.
Related papers
- Should AI Optimize Your Code? A Comparative Study of Current Large Language Models Versus Classical Optimizing Compilers [0.0]
Large Language Models (LLMs) raise intriguing questions about the potential for AI-driven approaches to revolutionize code optimization methodologies.
This paper presents a comparative analysis between two state-of-the-art Large Language Models, GPT-4.0 and CodeLlama-70B, and traditional optimizing compilers.
arXiv Detail & Related papers (2024-06-17T23:26:41Z) - CompilerDream: Learning a Compiler World Model for General Code Optimization [58.87557583347996]
We introduce CompilerDream, a model-based reinforcement learning approach to general code optimization.
It comprises a compiler world model that accurately simulates the intrinsic properties of optimization passes and an agent trained on this model to produce effective optimization strategies.
It excels across diverse datasets, surpassing LLVM's built-in optimizations and other state-of-the-art methods in both settings of value prediction and end-to-end code optimization.
arXiv Detail & Related papers (2024-04-24T09:20:33Z) - A Survey of Modern Compiler Fuzzing [0.0]
This survey provides a summary of the research efforts for understanding and addressing compilers defects.
It covers researchers investigation and expertise on compilers bugs, such as their symptoms and root causes.
In addition, it covers researchers efforts in designing fuzzing techniques, including constructing test programs and designing test oracles.
arXiv Detail & Related papers (2023-06-12T06:03:51Z) - Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures [67.47328776279204]
This work introduces a framework to develop efficient, portable Deep Learning and High Performance Computing kernels.
We decompose the kernel development in two steps: 1) Expressing the computational core using Processing Primitives (TPPs) and 2) Expressing the logical loops around TPPs in a high-level, declarative fashion.
We demonstrate the efficacy of our approach using standalone kernels and end-to-end workloads that outperform state-of-the-art implementations on diverse CPU platforms.
arXiv Detail & Related papers (2023-04-25T05:04:44Z) - HDCC: A Hyperdimensional Computing compiler for classification on
embedded systems and high-performance computing [58.720142291102135]
This work introduces the name compiler, the first open-source compiler that translates high-level descriptions of HDC classification methods into optimized C code.
name is designed like a modern compiler, featuring an intuitive and descriptive input language, an intermediate representation (IR), and a retargetable backend.
To substantiate these claims, we conducted experiments with HDCC on several of the most popular datasets in the HDC literature.
arXiv Detail & Related papers (2023-04-24T19:16:03Z) - Learning Performance-Improving Code Edits [107.21538852090208]
We introduce a framework for adapting large language models (LLMs) to high-level program optimization.
First, we curate a dataset of performance-improving edits made by human programmers of over 77,000 competitive C++ programming submission pairs.
For prompting, we propose retrieval-based few-shot prompting and chain-of-thought, and for finetuning, these include performance-conditioned generation and synthetic data augmentation based on self-play.
arXiv Detail & Related papers (2023-02-15T18:59:21Z) - Learning to Superoptimize Real-world Programs [79.4140991035247]
We propose a framework to learn to superoptimize real-world programs by using neural sequence-to-sequence models.
We introduce the Big Assembly benchmark, a dataset consisting of over 25K real-world functions mined from open-source projects in x86-64 assembly.
arXiv Detail & Related papers (2021-09-28T05:33:21Z) - StreamBlocks: A compiler for heterogeneous dataflow computing (technical
report) [1.5293427903448022]
This work introduces StreamBlocks, an open-source compiler and runtime that uses the CAL dataflow programming language to partition computations across platforms.
StreamBlocks supports exploring the design space with a profile-guided tool that helps identify the best hardware-software partitions.
arXiv Detail & Related papers (2021-07-20T08:46:47Z) - Deep Data Flow Analysis [14.583644439728895]
ProGraML is a portable representation of whole-program semantics for deep learning.
We benchmark current and future learning techniques for compiler analyses.
We show that, using ProGraML, standard analyses can be learned and improved performance on downstream compiler optimization tasks.
arXiv Detail & Related papers (2020-11-21T03:29:14Z) - PolyDL: Polyhedral Optimizations for Creation of High Performance DL
primitives [55.79741270235602]
We present compiler algorithms to automatically generate high performance implementations of Deep Learning primitives.
We develop novel data reuse analysis algorithms using the polyhedral model.
We also show that such a hybrid compiler plus a minimal library-use approach results in state-of-the-art performance.
arXiv Detail & Related papers (2020-06-02T06:44:09Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.