whatisgithub

What is iree?

iree-org/iree — explained in plain English

Analysis updated 2026-06-26

3,759C++Audience · researcherComplexity · 5/5LicenseSetup · hard

In one sentence

IREE is a compiler and runtime that takes a trained AI model (PyTorch, JAX, ONNX) and compiles it to run efficiently on any hardware, GPU, phone, or embedded device, from a single codebase.

Mindmap

mindmap
  root((iree))
    What it does
      Compile AI models
      Run on any hardware
      Optimize for target device
    Supported Backends
      NVIDIA via CUDA
      AMD via ROCm
      Vulkan and Metal
      Standard CPUs
    Input Formats
      PyTorch models
      JAX models
      ONNX models
    Setup
      pip install iree-base-compiler
      pip install iree-base-runtime
      Apache 2.0 license
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Compile a PyTorch or JAX model with iree-base-compiler and deploy the result to a mobile device or embedded system.

USE CASE 2

Benchmark AI inference performance across different hardware backends (GPU, CPU, Vulkan) using the same compiled model.

USE CASE 3

Integrate IREE into a production pipeline to run the same trained model on data center GPUs and edge devices without rewriting inference code.

What is it built with?

C++PythonMLIRLLVMCUDAVulkan

How does it compare?

iree-org/ireegoogle/fuzzingkiwibrowser/src.next
Stars3,7593,7603,762
LanguageC++C++C++
Setup difficultyhardeasyhard
Complexity5/51/55/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Python packages are on PyPI for quick start, full hardware-specific targets (CUDA, ROCm) require matching drivers and toolchains on the host machine.

Apache 2.0 with LLVM Exceptions, use freely for any purpose including commercial, as long as you keep the copyright notice, the LLVM Exception permits linking without copyleft requirements.

So what is it?

IREE (Intermediate Representation Execution Environment, pronounced "eerie") is a compiler and runtime toolkit for machine learning models. Its job is to take a trained AI model, written using frameworks like PyTorch, JAX, or ONNX, and compile it into an efficient form that can run on a specific piece of hardware. The same model can be compiled to run on a data center GPU, a laptop, a phone, or an embedded device, which is what the project means when it calls itself "retargetable." Under the hood, IREE is built on top of MLIR, a compiler infrastructure developed as part of the LLVM project that makes it easier to build compilers for multiple hardware targets. IREE takes the ML model, lowers it through a series of intermediate representations, and produces code tuned for the target device. Supported hardware backends include NVIDIA GPUs via CUDA, AMD GPUs via ROCm, cross-platform GPU access via Vulkan and Metal, and standard CPUs. The project is used in real deployments. In April 2025, AMD submitted an IREE-based image generation implementation to the MLPerf benchmark suite, a standard industry benchmark for AI inference performance. IREE is also a member of the Linux Foundation AI and Data Foundation. For developers, IREE is available as two Python packages on PyPI: iree-base-compiler for the compilation step and iree-base-runtime for running the compiled output. The project is licensed under Apache 2.0 with LLVM Exceptions, and active development discussions happen on a Discord server and mailing lists.

Copy-paste prompts

Prompt 1
Using IREE's Python API, how do I compile a PyTorch model with iree-base-compiler and run it with iree-base-runtime on CPU?
Prompt 2
I want to target Vulkan with IREE. What compilation flags do I pass to iree-base-compiler to produce a Vulkan-compatible artifact?
Prompt 3
How do I install iree-base-compiler and iree-base-runtime from PyPI and run a simple JAX model through the IREE pipeline?
Prompt 4
Show me how to check which hardware backends IREE supports on my machine after installing the runtime package.

Frequently asked questions

What is iree?

IREE is a compiler and runtime that takes a trained AI model (PyTorch, JAX, ONNX) and compiles it to run efficiently on any hardware, GPU, phone, or embedded device, from a single codebase.

What language is iree written in?

Mainly C++. The stack also includes C++, Python, MLIR.

What license does iree use?

Apache 2.0 with LLVM Exceptions, use freely for any purpose including commercial, as long as you keep the copyright notice, the LLVM Exception permits linking without copyleft requirements.

How hard is iree to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is iree for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.