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.

何を解決するか

IRONと呼ばれる高レベルなPython APIを使用して、AMD Ryzen‡ AI NPUs(ニューラルプロセッシングユニット)をプログラミングする方法を提供します。これにより、開発者は複雑なフレームワークを迂回し、AIエンジンアレイ上のタイル配置、データ移動、ベクトル化された計算を直接制御できます。

動作方法

IRONはMLIR(Multi-Level Intermediate Representation)とLLVMに基づくオープンソースコンパイラツールチェーンを使用しています。開発者がPythonで @iron.jit デコレータを使用すると、ツールチェーンはPeanoコンパイラを介して設計を xclbin ファイルと命令ストリームにコンパイルし、NPUハードウェア上で実行されます。

対象ユーザー

機械学習からデジタル信号処理まで、さまざまなタスクにおいてNPUの低レベルな「メタルに近い」制御が必要な研究者やパフォーマンスエンジニア向けに設計されています。

特徴

  • PythonからNPUへのワークフロー:JITコンパイルされたPythonコードをAIエンジンアレイ上で直接実行できます。
  • 低レベル制御:ベクトル化された計算、データ移動、タイル配置を直接管理できます。
  • MLIRベースのツールチェーン:AIエンジン対応デバイス(Ryzen AIやVersalなど)をターゲットとする、多段階の抽象化ツールチェーンを活用しています。
  • 補完的なツールセット:主流の推論プラットフォームと併用されるように設計されており、それらを置き換えるものではありません。

関連

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