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など)をターゲットとする、多段階の抽象化ツールチェーンを活用しています。
- 補完的なツールセット:主流の推論プラットフォームと併用されるように設計されており、それらを置き換えるものではありません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト