如何使用MLIR工具链访问AMD NPU
扫描二维码
随时随地手机看文章
在这个项目中,遵循Xilinx mlr - aie GitHub存储库中提供的说明,在Ubuntu上建立一个功能开发环境,并在AMD Ryzen™AI NPU上执行示例mlr - aie程序。目标是完成完整的设置工作流程,其中包括安装所需的工具链,配置系统依赖关系,并使用mlr -AIE框架构建简单的AI引擎(AIE)设计。环境准备好后,将编译包括的示例应用程序并将其部署到NPU中,以验证软件工具和硬件平台之间的正确集成。
此过程演示了为AMD Ryzen AI开发准备系统的实用方法,提供了对工具安装,环境配置和mlr - aie应用程序执行流程的见解。示例程序的成功执行证实了开发管道(从基于mlr的设计到硬件执行)的功能符合预期,为未来的实验和定制AIE应用程序开发奠定了基础。
AMD NPU (Neural Processing Unit)是集成在AMD Ryzen AI系列中的专用AI加速器。下面我们来看看
•系统配置
•Bios设置的变化
•工具链安装
•如何设置环境?
•如何在AMD NPU上运行样例测试用例并验证其执行?
•示例测试用例参考
系统配置
这个过程从Ubuntu 24.04的干净安装开始,确保笔记本电脑更新到最新的BIOS版本,并启用了NPU支持。
修改BIOS设置
然后确认在BIOS中禁用安全引导以允许使用未签名驱动程序。# BIOS→安全→安全启动→禁用
由于Ubuntu 24.04带有较旧的内核,更新到硬件支持(HWE)堆栈以获得Linux内核6.11+:
工具链安装
使用提供的安装脚本安装了Ryzen AI NPU的XDNA驱动程序和XRT。
重启后,检查NPU是否被检测到:
克隆了MLIR-AIE存储库,并为项目设置创建了专用的Python虚拟环境。
作为开发环境准备的一部分,安装了最新版本的mlr - aie和LLVM-AIE。
如何设置环境?
配置了所需的执行环境变量,以确保工具和库的正确集成。
如何在AMD NPU上运行示例并验证执行?
导航到mlir-aie/programming_examples/中提供的编程示例之一,并构建AIE设计:在测试用例路径上使用make命令构建设计:
获得XRT环境,并在单独的终端中执行无限监控脚本,以观察AI Engine活动。
sh脚本触发无限次NPU状态检查。在成功构建完成后,主机应用程序被编译并执行,以在Ryzen AI NPU上运行设计。
这触发了MLIR-AIE运行时,它将计算卸载到NPU。我们可以立即看到加速的结果。
下面是示例执行和验证的输出:
示例测试用例参考:
•直通dma -此设计演示了数据移动,以实现使用对象fifo的内存操作,仅使用dma而不涉及AIE核心。
•直通内核——这个设计演示了一个简单的AIE实现,在涉及AIE核心内核编程的整数向量上实现向量化内存。
•Vector Scalar Add- Single tile执行一个非常简单的+操作,内核从本地内存加载数据,将值加1并将其存储回来。
本文编译自hackster.io





