
CompilerGym

Click to visit website
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
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.
Ratings & Reviews
No ratings available yet. Be the first to rate this tool!
Alternatives

CompilerAI
CompilerAI is a research-based startup commercializing a translation validator, focusing on compiler design, formal methods, and AI algorithms.
View DetailsFeatured Tools
GirlfriendGPT
NSFW AI chat platform with customizable characters, AI image generation, and voice chat. Explore roleplay and intimate interactions with AI companions.
View DetailsAnimate My Pic
Animate My Pic is an AI photo to video tool that leverages advanced AI to effortlessly animate your pictures, offering image-to-video, text-to-video, and 30+ effects.
View Details
KeevX
KeevX is an AI-powered platform for generating video ads, translating and dubbing videos with lip sync, and turning ideas into visual content.
View DetailsVoxdeck
Voxdeck is an AI tool that transforms ideas and documents into captivating, attention-grabbing slides and motion-rich presentations effortlessly.
View DetailsNano Banana AI
Nano Banana AI is a powerful AI image editor for quick, precise editing, adjustments, and optimization of images, leveraging advanced image-to-image AI models.
View DetailsNano Banana
Nano Banana is Google's state-of-the-art AI image generator powered by Gemini 2.5 Flash Image, offering character consistency and natural language image transformation.
View Details
alivemoment
alivemoment is an AI tool that transforms cherished photos into living stories, allowing users to relive precious moments with gentle, lifelike motion.
View Details