iree  by iree-org

MLIR-based compiler and runtime toolkit for machine learning models

Created 6 years ago
3,352 stars

Top 14.4% 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

15 hours ago

Responsiveness

1 day

Pull Requests (30d)
239
Issues (30d)
96
Star History
62 stars in the last 30 days

Explore Similar Projects

Starred by Tobi Lutke Tobi Lutke(Cofounder of Shopify), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
6 more.

xTuring by stochasticai

0.0%
3k
SDK for fine-tuning and customizing open-source LLMs
Created 2 years ago
Updated 1 day 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
54 more.

llama.cpp by ggml-org

0.4%
87k
C/C++ library for local LLM inference
Created 2 years ago
Updated 12 hours ago
Feedback? Help us improve.