全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

Banana Pi BPI-M7 RK3588开发板在 Linux 上检查 Rockchip

时间:2024-07-11 18:28

人气:

作者:admin

标签: 开源  开发板  RK3588  banana pi 

导读:如下介绍如何监控 Rockchip 设备的 NPU 使用情况。...

如下介绍如何监控 Rockchip 设备的 NPU 使用情况。

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

要停止正在运行的监视命令,请按 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

结论

如您所见,没有标准的 top 类命令来显示各个制造商的 NPU 使用情况。目前,我只有 Rockchip,所以我的探索有限,因此本教程仅限于 Rockchip NPU。如果我有机会接触到更多这样的硬件,我也会写关于它们的文章。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信