MLIR

Multi-Level IR Compiler Framework

Users of MLIR

In alphabetical order below.

Flang

Flang is a ground-up implementation of a Fortran front end written in modern C++. It started off as the f18 project with an aim to replace the previous flang project and address its various deficiencies. F18 was subsequently accepted into the LLVM project and rechristened as Flang. The high level IR of the Fortran compiler is modeled using MLIR.

IREE

IREE (pronounced “eerie”) is a compiler and minimal runtime system for compiling ML models for execution against a HAL (Hardware Abstraction Layer) that is aligned with Vulkan. It aims to be a viable way to compile and run ML devices on a variety of small and medium sized systems, leveraging either the GPU (via Vulkan/SPIR-V), CPU or some combination. It also aims to interoperate seamlessly with existing users of Vulkan APIs, specifically focused on games and rendering pipelines.

PlaidML

PlaidML is a tensor compiler that facilitates reusable and performance portable ML models across various hardware targets including CPUs, GPUs, and accelerators.

RISE

RISE is a spiritual successor to the Lift project : “a high-level functional data parallel language with a system of rewrite rules which encode algorithmic and hardware-specific optimisation choices”.

TRFT: TensorFlow Runtime

TFRT aims to provide a unified, extensible infrastructure layer for an asynchronous runtime system.

TensorFlow

MLIR is used as a Graph Transformation framework and the foundation for building many tools (TFLite converter, quantization, …).