如何执行从L3内存到Tile内存的Shim数据移动
扫描二维码
随时随地手机看文章
本教程演示了一个数据传递示例,以使用AIE方言解释AMD Ryzen AI Phoenix中的数据流。
需求
AMD Ryzen AI Phoenix。基于Linux®的开发环境python®(用于测试自动化和结果验证)IRON API和基于mlr的AI引擎工具链
项目简要
SOC旨在加速ai - ml算法,以提供良好的卓越性能。NPU复合体
•16个AI核用于计算
•4 Memory Tiles用于快速内存访问
•4 sim DMA to MoveNote:这个项目是为Phoenix定制的。
涵盖的功能和数据流
•一个SHIM DMA通过
•两个SHIM DMA通过
•四个SHIM DMA通过
一个SHIM DMA通过
在本节中使用了列0的SHIM DMA(0,0), MEM Tile(0,1)和Core(0,2)。存储在L3存储器上的一组预定义数据流进入NPU复合体。数据通过MEM内存从SHM DMA路由到Core,然后路由回来。接收到的输出流被捕获并与参考进行比较。
两个SHIM DMA通过
在本节中使用了列0和列1的SHIM DMA((0,0), (1,0)), MEM Tile((0,1),(1,1))和Core((0,2),(1,2))。存储在L3存储器上的一组预定义数据流进入NPU复合体。数据通过MEM内存从SHM DMA路由到Core,然后路由回来。接收到的输出流被捕获并与参考进行比较。
四个SHIM DMA通过
在本节中垫片DMA((0, 0),(1,0)、(2,0)(0)),MEM瓷砖((0,1),(1,1),(2,1),(3,1))和核心((0,2),(1、2),(2,2),(3 2)列0,1,2,3。存储在L3存储器上的一组预定义数据流进入NPU复合体。数据通过MEM内存从SHM DMA路由到Core,然后路由回来。接收到的输出流被捕获并与参考进行比较。
数据流
构建并运行
导航到其中一个testcase文件夹并构建AIE设计:在测试用例路径上使用make命令构建设计:
在成功构建完成后,主机应用程序被编译并执行,以在Ryzen AI NPU上运行设计。
这触发了MLIR-AIE运行时,它将计算卸载到NPU。我们可以立即看到加速的结果。
结论
通过这些教程,我们能够演示如何使用“IRON API和基于mlr的AI引擎工具链”并执行数据传递。此外,这些教程将扩展到描述单个和多个并行操作的SHIM dma的数据吞吐量。
本文编译自hackster.io





