在這個項目中,遵循Xilinx mlr - aie GitHub存儲庫中提供的說明,在Ubuntu上建立一個功能開發(fā)環(huán)境,并在AMD Ryzen?AI NPU上執(zhí)行示例mlr - aie程序。目標是完成完整的設置工作流程,其中包括安裝所需的工具鏈,配置系統(tǒng)依賴關系,并使用mlr -AIE框架構建簡單的AI引擎(AIE)設計。環(huán)境準備好后,將編譯包括的示例應用程序并將其部署到NPU中,以驗證軟件工具和硬件平臺之間的正確集成。
此過程演示了為AMD Ryzen AI開發(fā)準備系統(tǒng)的實用方法,提供了對工具安裝,環(huán)境配置和mlr - aie應用程序執(zhí)行流程的見解。示例程序的成功執(zhí)行證實了開發(fā)管道(從基于mlr的設計到硬件執(zhí)行)的功能符合預期,為未來的實驗和定制AIE應用程序開發(fā)奠定了基礎。
AMD NPU (Neural Processing Unit)是集成在AMD Ryzen AI系列中的專用AI加速器。下面我們來看看
?系統(tǒng)配置
?Bios設置的變化
?工具鏈安裝
?如何設置環(huán)境?
?如何在AMD NPU上運行樣例測試用例并驗證其執(zhí)行?
?示例測試用例參考
系統(tǒng)配置
這個過程從Ubuntu 24.04的干凈安裝開始,確保筆記本電腦更新到最新的BIOS版本,并啟用了NPU支持。
修改BIOS設置
然后確認在BIOS中禁用安全引導以允許使用未簽名驅動程序。# BIOS→安全→安全啟動→禁用
由于Ubuntu 24.04帶有較舊的內核,更新到硬件支持(HWE)堆棧以獲得Linux內核6.11+:
工具鏈安裝
使用提供的安裝腳本安裝了Ryzen AI NPU的XDNA驅動程序和XRT。
重啟后,檢查NPU是否被檢測到:
克隆了MLIR-AIE存儲庫,并為項目設置創(chuàng)建了專用的Python虛擬環(huán)境。
作為開發(fā)環(huán)境準備的一部分,安裝了最新版本的mlr - aie和LLVM-AIE。
如何設置環(huán)境?
配置了所需的執(zhí)行環(huán)境變量,以確保工具和庫的正確集成。
如何在AMD NPU上運行示例并驗證執(zhí)行?
導航到mlir-aie/programming_examples/中提供的編程示例之一,并構建AIE設計:在測試用例路徑上使用make命令構建設計:
獲得XRT環(huán)境,并在單獨的終端中執(zhí)行無限監(jiān)控腳本,以觀察AI Engine活動。
sh腳本觸發(fā)無限次NPU狀態(tài)檢查。在成功構建完成后,主機應用程序被編譯并執(zhí)行,以在Ryzen AI NPU上運行設計。
這觸發(fā)了MLIR-AIE運行時,它將計算卸載到NPU。我們可以立即看到加速的結果。
下面是示例執(zhí)行和驗證的輸出:
示例測試用例參考:
?直通dma -此設計演示了數據移動,以實現使用對象fifo的內存操作,僅使用dma而不涉及AIE核心。
?直通內核——這個設計演示了一個簡單的AIE實現,在涉及AIE核心內核編程的整數向量上實現向量化內存。
?Vector Scalar Add- Single tile執(zhí)行一個非常簡單的+操作,內核從本地內存加載數據,將值加1并將其存儲回來。
本文編譯自hackster.io





