iree  by iree-org

MLIR-based compiler and runtime toolkit for machine learning models

created 5 years ago
3,253 stars

Top 15.2% on sourcepulse

GitHubView on GitHub
Project Summary

IREE is an end-to-end machine learning compiler and runtime toolkit built on MLIR, designed to deploy ML models across diverse hardware targets from datacenters to mobile and edge devices. It offers a unified intermediate representation (IR) for efficient execution, targeting researchers and developers needing a flexible and performant ML deployment solution.

How It Works

IREE leverages MLIR's composable infrastructure to define and transform ML models. It lowers models to a unified IR, enabling retargetability across various hardware backends (e.g., Vulkan, CUDA, CPU). This approach allows for extensive compiler optimizations tailored to specific hardware constraints, facilitating high-performance inference on heterogeneous platforms.

Quick Start & Requirements

  • Install: Building from source is recommended for full functionality. Instructions are available at https://iree.dev/developers/general/build-from-source/.
  • Prerequisites: Python, CMake, and a C++ compiler are required. Specific hardware targets may necessitate additional drivers or SDKs (e.g., Vulkan SDK, CUDA Toolkit).
  • Resources: Building from source can be resource-intensive.

Highlighted Details

  • Supports deployment to a wide range of hardware, including CPUs, GPUs (Vulkan, CUDA), and mobile accelerators.
  • Actively used in MLPerf benchmarks, demonstrating its performance capabilities (e.g., AMD's SDXL implementation).
  • Joined the LF AI & Data Foundation as a sandbox project, indicating growing industry adoption and support.
  • Provides a unified IR for simplifying cross-platform ML model deployment.

Maintenance & Community

IREE is an LF AI & Data Foundation sandbox project. Communication channels include GitHub issues, a Discord server, and email lists for announcements and discussions. Community meeting recordings are available on YouTube.

Licensing & Compatibility

IREE is licensed under the Apache 2.0 License with LLVM Exceptions. This license is permissive and generally compatible with commercial and closed-source applications.

Limitations & Caveats

While IREE supports numerous targets, achieving optimal performance often requires deep understanding of the underlying hardware and specific compiler configurations. The project is under active development, and certain features or backends may be experimental or less mature.

Health Check
Last commit

20 hours ago

Responsiveness

1 day

Pull Requests (30d)
252
Issues (30d)
102
Star History
165 stars in the last 90 days

Explore Similar Projects

Starred by Patrick von Platen Patrick von Platen(Core Contributor to Hugging Face Transformers and Diffusers), Michael Han Michael Han(Cofounder of Unsloth), and
1 more.

ktransformers by kvcache-ai

0.4%
15k
Framework for LLM inference optimization experimentation
created 1 year ago
updated 2 days ago
Starred by Lewis Tunstall Lewis Tunstall(Researcher at Hugging Face), Robert Nishihara Robert Nishihara(Cofounder of Anyscale; Author of Ray), and
4 more.

verl by volcengine

2.4%
12k
RL training library for LLMs
created 9 months ago
updated 13 hours ago
Starred by Andrej Karpathy Andrej Karpathy(Founder of Eureka Labs; Formerly at Tesla, OpenAI; Author of CS 231n), Nat Friedman Nat Friedman(Former CEO of GitHub), and
32 more.

llama.cpp by ggml-org

0.4%
84k
C/C++ library for local LLM inference
created 2 years ago
updated 13 hours ago
Feedback? Help us improve.