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(多级中间表示)和 LLVM 的开源编译器工具链。当开发者在 Python 中使用 @iron.jit 装饰器时,工具链会通过 Peano 编译器将设计编译为 xclbin 文件和指令流,然后在 NPU 硬件上运行。
适用人群
专为需要对 NPU 进行低级别、"贴近硬件" 控制的研究人员和性能工程师设计,适用于从机器学习到数字信号处理等各种任务。
主要亮点
- Python 到 NPU 的工作流:编写可被 JIT 编译并在 AI 引擎阵列上直接执行的 Python 代码。
- 低级别控制:直接管理向量化计算、数据移动和瓦片布局。
- 基于 MLIR 的工具链:利用多级抽象工具链,针对 Ryzen AI 和 Versal 等支持 AI 引擎的设备进行优化。
- 互补性工具:与主流推理平台协同工作,而非取代它们。
相关
- 项目
- 项目
- 项目
- 项目
- 项目