CompilerGym favicon

CompilerGym

Free
CompilerGym screenshot
Click to visit website
Feature this AI

About

CompilerGym is a library of easy to use and performant reinforcement learning environments for compiler tasks. It allows ML researchers to interact with important compiler optimization problems in a language and vocabulary with which they are comfortable, and provides a toolkit for systems developers to expose new compiler tasks for ML research. The goal is to act as a catalyst for making compilers faster using ML. CompilerGym aims to lower the barrier to entry to compiler AI research by building a playground that allows anyone to experiment with program optimizations without writing C++. Key goals include building the 'ImageNet for compilers' with high-quality, open-source environments and real-world datasets, improving fairness and reproducibility through a common experimental framework, enabling granular control over compiler decisions, and facilitating the deployment of research findings to production infrastructure.

Platform
Web
Task
compiler optimizing

Features

reinforcement learning environments for compiler tasks

open-source and community-driven

facilitates deployment of research findings to production

enables granular control over compiler optimization decisions

provides datasets for compiler research

c++ api for compiler service development

python api for interacting with environments

support for llvm, gcc, loop_tool, and mlir environments

FAQs

What can I do with this?

CompilerGym lets you control compiler decisions for program optimization. Currently, it supports LLVM, GCC, and CUDA loop nests, aiming to steer compilers towards optimal compiled programs based on reward signals.

Do I have to use reinforcement learning?

No. CompilerGym provides a useful abstraction for sequential decision making, but you can use any technique like search, genetic algorithms, supervised/unsupervised ML, or deep reinforcement learning.

Why does my environment’s step() function return “done”?

An episode is 'done' if a terminal state is reached (no more decisions, or artificial limit) or if an unrecoverable error occurs (e.g., compiler crash, timeout, out-of-memory). Error details are in `info` dict.

Where does CompilerGym store files?

CompilerGym caches files in `~/.local/cache/compiler_gym`, stores site data in `~/.local/share/compiler_gym`, uses `/dev/shm/compiler_gym_${USER}` for in-memory cache, and logs in `~/logs/compiler_gym`.

Do I need to call env.close()?

Yes, to tidy up subprocesses and temporary files. Use the `with`-statement pattern (`with gym.make("llvm-v0") as env:`) or `try`/`finally` blocks for automatic closure.

How do I debug crashes or errors?

Produce a minimal reproducible example. Enable verbose logging by adding `import logging; logging.basicConfig(level=logging.DEBUG)` at the script start, and set `COMPILER_GYM_DEBUG` to '4' for more verbosity.

I found a bug. How do I report it?

File an issue using the GitHub issue tracker. See the Contributing guide for more details.

What features are going to be added in the future?

See the roadmap for future features, including increasingly granular control over optimization decisions and generalization to other systems domains.

I want to modify one of the environments, where do I start?

Many modifications can be done with wrappers. For invasive changes, fork the project, build from source, and modify the compiler service implementation in `compiler_gym/envs/$COMPILER/service`.

I want to add a new compiler environment, where do I start?

Implement the CompilationSession interface to provide a new compilation service, then register it with the CompilerGym frontend. Examples are in the `examples directory`.

I updated with “git pull” and now it doesn’t work

First, re-run `make init` and `make distclean`. If the problem persists, file an issue. The `development` branch is bleeding edge; consider using `stable` for more stability.

Pricing Plans

Free
Free Plan

Access to reinforcement learning environments

Support for LLVM, GCC, loop_tool, and MLIR environments

Python and C++ API references

Open-source development and community support

Job Opportunities

There are currently no job postings for this AI tool.

Explore AI Career Opportunities

Social Media

Ratings & Reviews

No ratings available yet. Be the first to rate this tool!

Featured Tools

adly.news favicon
adly.news

adly.news is a free platform that simplifies newsletter advertising, connecting businesses with engaged audiences through ad slots, offering bidding, negotiation, and messaging.

View Details
AI Dubbing favicon
AI Dubbing

AI Dubbing is a free AI video dubbing tool that uses advanced AI technology to provide natural, smooth, high-quality dubbing services, supporting 20+ languages and 100+ tones.

View Details
Gemini Watermark Remover favicon
Gemini Watermark Remover

Gemini Watermark Remover is a client-side tool designed to remove hidden SynthID and other embedded watermarks from your AI-generated images, preserving quality.

View Details
Infatuated.AI favicon
Infatuated.AI

Infatuated.AI is an AI companion platform allowing users to chat, roleplay, and build personalized relationships with AI girlfriends and boyfriends, offering emotional support and secure fantasy sharing.

View Details
ImgGen favicon
ImgGen

ImgGen is the free AI editor that edits photos and turns images into videos in seconds, offering instant creativity all in one place.

View Details
Nano Banana favicon
Nano Banana

Nano Banana is a state-of-the-art AI model that revolutionizes text-based image editing and generation with unmatched multi-image fusion and natural language understanding.

View Details
Macaron favicon
Macaron

Macaron is the world’s first personal AI agent designed to help you live better by focusing on happiness, health, and freedom, unlike typical productivity tools.

View Details
VISBOOM favicon
VISBOOM

Visboom is the all-in-one AI fashion content creation platform, enabling brands and e-commerce sellers to generate on-model photoshoots and visual assets quickly.

View Details
Banana AI favicon
Banana AI

Banana AI is an advanced AI photo editor powered by Google’s Nano Banana technology (Gemini 2.5 Flash Image), enabling effortless image editing, restyling, and transformation with simple text prompts.

View Details
twainGPT favicon
twainGPT

twainGPT is a humanizer that transforms any AI-generated text into undetectable, human-like content, trusted by over 2.3 million users.

View Details