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

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
Unblur Image Online Free favicon
Unblur Image Online Free

Unblur Image Online Free instantly restores sharpness to blurry photos using AI. Upload JPG, PNG, or WEBP files for clear images in seconds, completely free and no sign-up needed.

View Details
AI Image Editor favicon
AI Image Editor

AI Image Editor is a free online tool to edit, transform, and enhance photos with a text prompt, achieving fast, consistent, high-quality results.

View Details
Sora2 AI Video Generator favicon
Sora2 AI Video Generator

Sora2 AI Video Generator is an advanced tool powered by OpenAI's Sora2 technology, creating cinema-quality 1080p videos from text and images with realistic physics and perfect character consistency.

View Details
Animate Image AI favicon
Animate Image AI

Animate Image AI is a platform that allows you to create captivating animations from your photos. It uses advanced AI technology to bring your photos to life.

View Details
Image To Image favicon
Image To Image

Image To Image is a cutting-edge AI photo generator transforming images with high quality and precise prompt control, offering instant creative evolution.

View Details
AI Make Song favicon
AI Make Song

AI Make Song is your ultimate AI song generator and music maker, designed to help anyone create professional-quality AI music free in minutes.

View Details
CrePal favicon
CrePal

CrePal is the world's first AI Video Creation Agent, transforming ideas into stunning videos with cutting-edge AI models for planning, imaging, and video generation.

View Details
Yolly AI favicon
Yolly AI

Yolly AI is an all-in-one AI video & photo generator that lets you turn a single text prompt into cinema-grade 4K videos or high-resolution images.

View Details
Seedance 1.5 favicon
Seedance 1.5

Seedance 1.5 is a next-generation AI video creation tool transforming ideas into stunning 1080p videos with multi-shot narratives, physics-accurate motion, and cinematic quality.

View Details
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
GrazeAI favicon
GrazeAI

GrazeAI uses A.I. powered research to uncover hard-to-find data for businesses.

View Details