如下介绍如何监控 Rockchip 设备的 NPU 使用情况。
![13efa1a174f34b4abdcbb36c35fc001d~tplv-obj.jpg?lk3s=ef143cfe&traceid=202407111259411DEA97AA0E4455967469&x-expires=2147483647&x-signature=dMod%2BIV1HEUGA7oXuACP5A44mXY%3D](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/13efa1a174f34b4abdcbb36c35fc001d~tplv-obj.jpg?lk3s=ef143cfe&traceid=202407111259411DEA97AA0E4455967469&x-expires=2147483647&x-signature=dMod%2BIV1HEUGA7oXuACP5A44mXY%3D)
如今,新型设备开始配备内置 AI 芯片。“AI 芯片”的正确技术术语是 NPU,即神经处理单元。
如果您有板载 NPU,您可能想知道您的系统是否正在使用它。
在本教程中,我将分享如何监控 Rockchip 处理器上的 NPU 使用情况。
这里讨论的方法仅适用于 Rockchip 处理器中集成的 NPU。我使用带有 RK3588 处理器的ArmSoM Sige7设备对其进行了测试。
你可以用以下命令检查你的系统是否有 npu:
dmesg | grep -i npu
分析输出以确定是否存在 NPU。
检查 Rockchip NPU 利用率
值得庆幸的是,Rockchip 使用了debugfs功能。Debugfs 是一种特殊类型的虚拟文件系统,可以实时提供调试信息,类似于 proc 提供的信息。
可随时提供 NPU 使用情况的文件是:
/sys/kernel/debug/rknpu/load
这是我在ArmSoM设备上运行它时显示的内容。它显示了 NPU 所有三个核心的使用情况:
abhishek@armsom:~$ sudo cat /sys/kernel/debug/rknpu/load NPU load: Core0: 0%, Core1: 0%, Core2: 0%, abhishek@armsom:~$
如您所见,它仅提供当前的 NPU 使用情况并结束它。如果您想监控 NPU 使用情况,这不是很有用。
另一种方法是将其与 watch 命令结合起来,该命令将每两秒运行一次(默认):
watch sudo cat /sys/kernel/debug/rknpu/load
这是我在本地运行利用 NPU 的 LLM 的屏幕截图:
![5b1e95b857794d8badfb47566c9defb9~tplv-obj.jpg?lk3s=ef143cfe&traceid=202407111259411DEA97AA0E4455967469&x-expires=2147483647&x-signature=MOmYTGFEpNXtoxepaJ3bHrlPORI%3D](https://p26-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/5b1e95b857794d8badfb47566c9defb9~tplv-obj.jpg?lk3s=ef143cfe&traceid=202407111259411DEA97AA0E4455967469&x-expires=2147483647&x-signature=MOmYTGFEpNXtoxepaJ3bHrlPORI%3D)
要停止正在运行的监视命令,请按 Ctrl+C。
要实际查看 NPU 使用情况,您应该运行一个应该使用 NPU 的程序。否则,所有核心的使用率将始终为 0。
还有另一种监控NPU使用情况的方法。我在用ezrknpu项目试验使用Rockchip NPU运行LLM时发现了它。
该项目有一个ntop.sh 脚本,它以类似 top 命令的方式显示 NPU 使用情况。这并不完全正确,因为 top 命令不会污染屏幕。另一方面,ntop.sh 脚本会用所有这些行充斥屏幕,并且在您按下 Ctrl+C 后它们不会消失。
脚本内容如下:
#!/bin/bash # Title: ntop.sh # Author: Pelochus # Brief: A very basic 'top' style program that shows the status of the NPU in Rockchip's SoCs # Variables CLEAR="" # Parameters check if [[ $1 = '-h' ]] then echo echo "ntop Help" echo echo "-c: Clears output every refresh" echo "-h: Shows this help screen" echo echo "For more information visit https://github.com/Pelochus/ezrknpu" echo exit elif [[ $1 = '-c' ]] then CLEAR="clear" fi while true; do eval $CLEAR # If empty, will not clear cat /sys/kernel/debug/rknpu/load sleep 0.5 done
重点是最后的while循环,下面是使用该脚本检查NPU使用情况的示例。
![9e704d7830ad4fb390618f68e465479e~tplv-obj.jpg?lk3s=ef143cfe&traceid=202407111259411DEA97AA0E4455967469&x-expires=2147483647&x-signature=x6zQXPMz4vOhv%2FiuVNiC14%2BGycs%3D](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/9e704d7830ad4fb390618f68e465479e~tplv-obj.jpg?lk3s=ef143cfe&traceid=202407111259411DEA97AA0E4455967469&x-expires=2147483647&x-signature=x6zQXPMz4vOhv%2FiuVNiC14%2BGycs%3D)
结论
如您所见,没有标准的 top 类命令来显示各个制造商的 NPU 使用情况。目前,我只有 Rockchip,所以我的探索有限,因此本教程仅限于 Rockchip NPU。如果我有机会接触到更多这样的硬件,我也会写关于它们的文章。
-
开源硬件
+关注
关注
8文章
196浏览量
29614 -
开发板
+关注
关注
25文章
4735浏览量
95958 -
banana pi
+关注
关注
1文章
103浏览量
2912 -
RK3588
+关注
关注
6文章
279浏览量
3887
发布评论请先 登录
相关推荐
Banana Pi BPI-W3 开源硬件开发板采用瑞芯微 RK3588设计,板载8G内存和32G eMMC存储
让NPU跑起来iTOP_RK3588开发板在Linux系统中使用NPU
迷你尺寸开源硬件开发板Banana Pi BPI-M7 采用瑞芯微RK3588芯片设计
Banana Pi BPI-M7 迷你尺寸开源硬件开发板采用瑞芯微RK3588芯片设计
Banana Pi BPI-W3 RK3588开源硬件开发板DX
Banana Pi BPI-M7迷你尺寸开源硬件开发板采用瑞芯微RK3588芯片设计
![<b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI-M7</b>迷你尺寸开源硬件<b class='flag-5'>开发板</b>采用瑞芯微<b class='flag-5'>RK3588</b>芯片设计](https://file1.elecfans.com//web2/M00/B0/D6/wKgZomVYT5CAD4XQAACL67YUDOc299.jpg)
Banana Pi BPI-M7 RK3588开发板运行RKLLM软件堆AI大模型部署
![<b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI-M7</b> <b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b>运行RKLLM软件堆AI大模型部署](https://file1.elecfans.com//web2/M00/C7/F8/wKgZomYXqY2APdbwAALT5qEdEtI654.jpg)
Banana Pi BPI-M7 RK3588开发板在 Linux 上检查 Rockchip NPU 使用情况
![<b class='flag-5'>Banana</b> <b class='flag-5'>Pi</b> <b class='flag-5'>BPI-M7</b> <b class='flag-5'>RK3588</b><b class='flag-5'>开发板</b><b class='flag-5'>在</b> <b class='flag-5'>Linux</b> <b class='flag-5'>上</b><b class='flag-5'>检查</b> <b class='flag-5'>Rockchip</b> <b class='flag-5'>NPU</b> <b class='flag-5'>使用情况</b>](https://file1.elecfans.com//web2/M00/FB/29/wKgZomaPnDiAOGuJAALT5qEdEtI669.jpg)
评论