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

Connect with engaged niche audiences or monetize your subscriber base through an automated marketplace featuring verified metrics and secure Stripe payments.

View Details
EveryDev.ai favicon
EveryDev.ai

Accelerate your development workflow by discovering cutting-edge AI tools, staying updated on industry news, and joining a community of builders shipping with AI.

View Details
Whisk AI favicon
Whisk AI

Create professional 4K artwork by blending subject, scene, and style images using advanced AI. Perfect for designers and marketers needing fast, custom visuals.

View Details
APIPASS favicon
APIPASS

Access hundreds of leading AI models like Kling, Runway, and Claude through a single unified API to build scalable image and video generation applications.

View Details
VO4 AI favicon
VO4 AI

Transform text prompts and static images into professional, watermark-free cinematic videos for social media and marketing using advanced AI motion technology.

View Details
BeatViz favicon
BeatViz

Create professional, rhythm-synced music videos instantly with AI-powered visual generation, ideal for independent artists, social media creators, and marketers.

View Details
Seedance 2.0 favicon
Seedance 2.0

Generate cinematic 1080p videos from text or images using advanced motion synthesis and multi-shot storytelling for marketing, social media, and creators.

View Details
Seedream 5.0 favicon
Seedream 5.0

Transform text descriptions into high-resolution 4K visuals and edit photos using advanced AI models designed for digital artists and e-commerce businesses.

View Details
Seedream 5.0 favicon
Seedream 5.0

Generate professional 4K AI images and edit visuals using natural language commands with high-speed processing for marketers, artists, and e-commerce brands.

View Details
Kaomojiya favicon
Kaomojiya

Enhance digital messages with thousands of unique Japanese kaomoji across 491 categories, featuring one-click copying and AI-powered custom generation.

View Details
VO4 AI favicon
VO4 AI

Transform text prompts and static images into professional 1080p cinematic videos with advanced multi-shot storytelling, motion synthesis, and Full HD output.

View Details