Xilinx/mlir-aie

A close-to-metal Python API for programming AMD Ryzen™ AI NPUs (AI Engines), built on an open-source MLIR-based compiler toolchain.

What it solves

It provides a way to program AMD Ryzen‡ AI NPUs (Neural Processing Units) using a high-level Python API called IRON. This allows developers to bypass complex frameworks and directly control tile placement, data movement, and vectorized compute on the AI Engine array.

How it works

IRON uses an open-source compiler toolchain based on MLIR (Multi-Level Intermediate Representation) and LLVM. When a developer uses the @iron.jit decorator in Python, the toolchain compiles the design into an xclbin file and an instruction stream via the Peano compiler, which then runs on the NPU hardware.

Who it’s for

It is designed for researchers and performance engineers who need low-level, "close-to-metal" control over the NPU for tasks ranging from machine learning to digital signal processing.

Highlights

  • Python-to-NPU Workflow: Write Python code that is JIT-compiled and executed directly on the AI Engine array.
  • Low-Level Control: Direct management of vectorized compute, data movement, and tile placement.
  • MLIR-Based Toolchain: Leverages a multi-level abstraction toolchain to target AI Engine-enabled devices like Ryzen AI and Versal.
  • Complementary Tooling: Works alongside mainstream inference platforms rather than replacing them.

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト