mllm icon indicating copy to clipboard operation
mllm copied to clipboard

是否可以通过什么工具去监测小米14上的硬件(CPU、GPU、NPU)和内存的使用情况?

Open Smallhucaptain opened this issue 1 year ago • 6 comments

@oreomaker 你好,我想请问一下,Qualcomm 是否有什么工具可以监测到推理过程中CPU、GPU、NPU的硬件使用状况(硬件利用率、吞吐量、计算单元使用情况等等)和内存的使用情况呢?如果Qualcomm没有类似的工具,那么如何去监测这些信息呢?

Smallhucaptain avatar Dec 25 '24 12:12 Smallhucaptain

您可以尝试使用Snapdragon Profiler

yirongjie avatar Dec 25 '24 13:12 yirongjie

@yirongjie ,你好,我也看到了Snapdragon Profiler 这个工具,但是我发现这个工具好像不能监测到NPU的使用情况,而且这个工具是基于应用程序进行监控,而mllm项目是直接利用NPU进行推理,好像并没有基于应用程序(我知道项目有一个chatbot),那么如何监控NPU的利用情况呢?

Smallhucaptain avatar Dec 26 '24 01:12 Smallhucaptain

@liang1232018 @oreomaker 请问二位时候可以给出一些监控NPU的工具?

yirongjie avatar Dec 28 '24 03:12 yirongjie

高通平台目前应该是只有Snapdragon Profiler,在设备文件中找不到与dsp/npu相关的文件。

oreomaker avatar Dec 29 '24 07:12 oreomaker

你好,这个profiler软件似乎不对普通开发者开放(Software Restricted),应该这么申请呢。

huluhuluu avatar May 12 '25 14:05 huluhuluu

@huluhuluu 现在高通有个新的profile软件,但是我们没完全测试过。您可以试一下:https://docs.qualcomm.com/bundle/publicresource/topics/80-54323-2/introduction.html?product=1601111740023455

这个软件应该能抓取到更多的信息

chenghuaWang avatar May 12 '25 14:05 chenghuaWang

@huluhuluu 现在高通有个新的profile软件,但是我们没完全测试过。您可以试一下:https://docs.qualcomm.com/bundle/publicresource/topics/80-54323-2/introduction.html?product=1601111740023455

这个软件应该能抓取到更多的信息

感谢回复,根据文档执行到InstallerAndroid时,需要使用root权限将文件拷贝到/vendor目录下,但是我的测试机尚未获取root。我按照目录下的readme文件指引,把文件放入/data/local/tmp下 并且将环境变量指向对应的方向,并且执行启动命令,再软件上并识别不到设备。

adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\bins" /data/local/tmp/QualcommProfiler/bin
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs"    /data/local/tmp/QualcommProfiler/qprof/libs
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\handlers" /data/local/tmp/QualcommProfiler/qprof/libs/handlers
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\backends" /data/local/tmp/QualcommProfiler/qprof/backends
adb push "C:\Program Files (x86)\Qualcomm\Shared\Prof_Ext\ExtQProfiler.db"   /data/shared/qcom/Shared/Prof_Ext/ 

export QMONITOR_BACKEND_LIB_PATH=/data/local/tmp/QualcommProfiler/qprof/backends
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp/QualcommProfiler/qprof/libs
chmod a+x /data/local/tmp/QualcommProfiler/bin/qprof
/data/local/tmp/QualcommProfiler/bin/qprof --start-server

我会试着刷完root再继续尝试的。

huluhuluu avatar May 19 '25 02:05 huluhuluu

@huluhuluu 现在高通有个新的profile软件,但是我们没完全测试过。您可以试一下:https://docs.qualcomm.com/bundle/publicresource/topics/80-54323-2/introduction.html?product=1601111740023455 这个软件应该能抓取到更多的信息

感谢回复,根据文档执行到InstallerAndroid时,需要使用root权限将文件拷贝到/vendor目录下,但是我的测试机尚未获取root。我按照目录下的readme文件指引,把文件放入/data/local/tmp下 并且将环境变量指向对应的方向,并且执行启动命令,再软件上并识别不到设备。

adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\bins" /data/local/tmp/QualcommProfiler/bin
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs"    /data/local/tmp/QualcommProfiler/qprof/libs
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\handlers" /data/local/tmp/QualcommProfiler/qprof/libs/handlers
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\backends" /data/local/tmp/QualcommProfiler/qprof/backends
adb push "C:\Program Files (x86)\Qualcomm\Shared\Prof_Ext\ExtQProfiler.db"   /data/shared/qcom/Shared/Prof_Ext/ 

export QMONITOR_BACKEND_LIB_PATH=/data/local/tmp/QualcommProfiler/qprof/backends
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp/QualcommProfiler/qprof/libs
chmod a+x /data/local/tmp/QualcommProfiler/bin/qprof
/data/local/tmp/QualcommProfiler/bin/qprof --start-server

我会试着刷完root再继续尝试的。

你好 请问你成功跑起来这个profiler了吗,确实需要root吗 期待你的回复

youxiudeshouyeren avatar Jul 14 '25 09:07 youxiudeshouyeren

@huluhuluu 现在高通有个新的profile软件,但是我们没完全测试过。您可以试一下:https://docs.qualcomm.com/bundle/publicresource/topics/80-54323-2/introduction.html?product=1601111740023455 这个软件应该能抓取到更多的信息

感谢回复,根据文档执行到InstallerAndroid时,需要使用root权限将文件拷贝到/vendor目录下,但是我的测试机尚未获取root。我按照目录下的readme文件指引,把文件放入/data/local/tmp下 并且将环境变量指向对应的方向,并且执行启动命令,再软件上并识别不到设备。

adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\bins" /data/local/tmp/QualcommProfiler/bin
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs"    /data/local/tmp/QualcommProfiler/qprof/libs
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\handlers" /data/local/tmp/QualcommProfiler/qprof/libs/handlers
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\backends" /data/local/tmp/QualcommProfiler/qprof/backends
adb push "C:\Program Files (x86)\Qualcomm\Shared\Prof_Ext\ExtQProfiler.db"   /data/shared/qcom/Shared/Prof_Ext/ 

export QMONITOR_BACKEND_LIB_PATH=/data/local/tmp/QualcommProfiler/qprof/backends
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp/QualcommProfiler/qprof/libs
chmod a+x /data/local/tmp/QualcommProfiler/bin/qprof
/data/local/tmp/QualcommProfiler/bin/qprof --start-server

我会试着刷完root再继续尝试的。

你好 请问你成功跑起来这个profiler了吗,确实需要root吗 期待你的回复

@huluhuluu 现在高通有个新的profile软件,但是我们没完全测试过。您可以试一下:https://docs.qualcomm.com/bundle/publicresource/topics/80-54323-2/introduction.html?product=1601111740023455 这个软件应该能抓取到更多的信息

感谢回复,根据文档执行到InstallerAndroid时,需要使用root权限将文件拷贝到/vendor目录下,但是我的测试机尚未获取root。我按照目录下的readme文件指引,把文件放入/data/local/tmp下 并且将环境变量指向对应的方向,并且执行启动命令,再软件上并识别不到设备。

adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\bins" /data/local/tmp/QualcommProfiler/bin
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs"    /data/local/tmp/QualcommProfiler/qprof/libs
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\handlers" /data/local/tmp/QualcommProfiler/qprof/libs/handlers
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\backends" /data/local/tmp/QualcommProfiler/qprof/backends
adb push "C:\Program Files (x86)\Qualcomm\Shared\Prof_Ext\ExtQProfiler.db"   /data/shared/qcom/Shared/Prof_Ext/ 

export QMONITOR_BACKEND_LIB_PATH=/data/local/tmp/QualcommProfiler/qprof/backends
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp/QualcommProfiler/qprof/libs
chmod a+x /data/local/tmp/QualcommProfiler/bin/qprof
/data/local/tmp/QualcommProfiler/bin/qprof --start-server

我会试着刷完root再继续尝试的。

你好 请问你成功跑起来这个profiler了吗,确实需要root吗 期待你的回复

你好,我使用Realme GT7 Pro Speed线刷没成功,没有对这个新profiler软件进行后续尝试。不过给Qualcomm Sales Team申请后Snapdragon Profile也可以获取使用。如图,

Image

huluhuluu avatar Jul 14 '25 10:07 huluhuluu

@huluhuluu 现在高通有个新的profile软件,但是我们没完全测试过。您可以试一下:https://docs.qualcomm.com/bundle/publicresource/topics/80-54323-2/introduction.html?product=1601111740023455 这个软件应该能抓取到更多的信息

感谢回复,根据文档执行到InstallerAndroid时,需要使用root权限将文件拷贝到/vendor目录下,但是我的测试机尚未获取root。我按照目录下的readme文件指引,把文件放入/data/local/tmp下 并且将环境变量指向对应的方向,并且执行启动命令,再软件上并识别不到设备。

adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\bins" /data/local/tmp/QualcommProfiler/bin
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs"    /data/local/tmp/QualcommProfiler/qprof/libs
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\handlers" /data/local/tmp/QualcommProfiler/qprof/libs/handlers
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\backends" /data/local/tmp/QualcommProfiler/qprof/backends
adb push "C:\Program Files (x86)\Qualcomm\Shared\Prof_Ext\ExtQProfiler.db"   /data/shared/qcom/Shared/Prof_Ext/ 

export QMONITOR_BACKEND_LIB_PATH=/data/local/tmp/QualcommProfiler/qprof/backends
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp/QualcommProfiler/qprof/libs
chmod a+x /data/local/tmp/QualcommProfiler/bin/qprof
/data/local/tmp/QualcommProfiler/bin/qprof --start-server

我会试着刷完root再继续尝试的。

你好 请问你成功跑起来这个profiler了吗,确实需要root吗 期待你的回复

@huluhuluu 现在高通有个新的profile软件,但是我们没完全测试过。您可以试一下:https://docs.qualcomm.com/bundle/publicresource/topics/80-54323-2/introduction.html?product=1601111740023455 这个软件应该能抓取到更多的信息

感谢回复,根据文档执行到InstallerAndroid时,需要使用root权限将文件拷贝到/vendor目录下,但是我的测试机尚未获取root。我按照目录下的readme文件指引,把文件放入/data/local/tmp下 并且将环境变量指向对应的方向,并且执行启动命令,再软件上并识别不到设备。

adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\bins" /data/local/tmp/QualcommProfiler/bin
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs"    /data/local/tmp/QualcommProfiler/qprof/libs
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\handlers" /data/local/tmp/QualcommProfiler/qprof/libs/handlers
adb push "C:\Program Files (x86)\Qualcomm\Shared\QualcommProfiler\API\target-la\libs\backends" /data/local/tmp/QualcommProfiler/qprof/backends
adb push "C:\Program Files (x86)\Qualcomm\Shared\Prof_Ext\ExtQProfiler.db"   /data/shared/qcom/Shared/Prof_Ext/ 

export QMONITOR_BACKEND_LIB_PATH=/data/local/tmp/QualcommProfiler/qprof/backends
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/local/tmp/QualcommProfiler/qprof/libs
chmod a+x /data/local/tmp/QualcommProfiler/bin/qprof
/data/local/tmp/QualcommProfiler/bin/qprof --start-server

我会试着刷完root再继续尝试的。

你好 请问你成功跑起来这个profiler了吗,确实需要root吗 期待你的回复

你好,我使用Realme GT7 Pro Speed线刷没成功,没有对这个新profiler软件进行后续尝试。不过给Qualcomm Sales Team申请后Snapdragon Profile也可以获取使用。如图,

Image

感谢你的回复,我在之前已经尝试了Snapdragon Profile,不过该Profiler工具无法对Dsp性能监控,我正在尝试新的方法

youxiudeshouyeren avatar Jul 14 '25 10:07 youxiudeshouyeren

@youxiudeshouyeren 我们成功跑起来了这个profiler。我们发现:

  1. 机器需要 root
  2. root 后的 vendor 仍然是以只读挂载的分区。您可以使用android的overlayfs功能来合并vendor
  3. 最好根据 QNN 的文档来做,直接指定目录不能运行。

Qualcomm Profiler 提供了许多 DSP 相关的 Metrics,确实值得一试。

chenghuaWang avatar Jul 14 '25 12:07 chenghuaWang