在骁龙8Elite上运行效率低
如题,在骁龙8Elite上运行效率不如联发科的天玑8100。另外,似乎移动端的NPU没有调用?
天玑8100设备运行的是安卓14系统,骁龙8Elite设备运行的是安卓15系统。好像安卓15以后已经不支持NNAPI了,不知道是不是和这个有关。
使用的是什么后端? 骁龙芯片上新版本 nnapi 都是跑 cpu 了
用的是 MNN Chat,所以可能底层跑的都是 NNAPI
MNN Chat Version 0.3.0
默认是 cpu 的,可以修改 config.json 把线程数设成 2 ,或者改用 opencl 试下
不好意思,我目前仅仅是以 MNN Chat 用户的角度来反馈这个问题的。
我使用的是这个项目里预构建的版本,即MNN/apps/Android/MnnLlmChat/README.md里提供的版本。
在天玑8100上使用对比纯CPU推理是有明显加速的,但是骁龙8Elite上基本和CPU推理速度一致。
我想问的是在接下来的版本中,可能会适配高通的QNN或者联发科的NeuroPilot这样直接的神经网络接口吗?或者其它NNAPI的替代方案?
更新:在最新的 MNN Chat Version 0.4.2 上可以正常加速的。
不过默认情况下还是比较慢,在开启 OpenCL 以后会好很多。
QNN 在支持中
不好意思,我目前仅仅是以 MNN Chat 用户的角度来反馈这个问题的。
我使用的是这个项目里预构建的版本,即
MNN/apps/Android/MnnLlmChat/README.md里提供的版本。在天玑8100上使用对比纯CPU推理是有明显加速的,但是骁龙8Elite上基本和CPU推理速度一致。
我想问的是在接下来的版本中,可能会适配高通的QNN或者联发科的NeuroPilot这样直接的神经网络接口吗?或者其它NNAPI的替代方案?
我这边骁龙8Elite上跑的npu推理速度比cpu慢不少,为啥呢?
@xiezheng1995 可以看看https://github.com/chraac/llama.cpp/issues/34
更新:在最新的 MNN Chat Version 0.4.2 上可以正常加速的。
不过默认情况下还是比较慢,在开启 OpenCL 以后会好很多。
很奇怪,我在最新的0.4.4 app下,和你同样的SOC,开启OpenCL后,qwen2.5-omni-3b prefill会从80token/s降低到20+token/s,decode从27token/s降低到19token/s;减速严重。
QNN 在支持中
请问,QNN支持预计什么时候可以release? @jxt1234
@null-define 我之前的测试都是基于 0.4.4 之前的版本的,新版本我测试了以后也确实比 OpenCL 快。我通过系统的负载监控软件可以确定默认是 CPU 跑的,而 OpenCL 是 GPU 跑的。
我不太清楚 0.4.4 之前 CPU 推理为什么比较慢,但 0.4.4 之后 CPU 推理比 GPU 快,应该是 GPU 的整数吞吐量不如浮点数造成的,之前在别的 issue 里看到的。
Marking as stale. No activity in 60 days.