关于 Vulkan GPU 加速
Opened this issue · 2 comments
KennyHuangChina commented
您好,
从文档中看到可以用 GPU 来加速 sharpa-ncnn
我在 Ubuntu2204 上用 build-android-arm64-v8a-with-vulkan.sh
脚本编译了支持 vulkan
的 so,但是放到 Android APK 中,发现性能非常差,原先的版本(arm64-v8)完成 30s pcm 数据的识别是 6s
左右,而支持 Vulkan
的 so,反而延长到了 25s+
。
一开始,以为是 useGPU
没有设置,但是检查一遍,确认 useGPU
是 true
,实际上,我所有的参数,都是按照 Android Demo 中设置的,不知道 CPU 版本,和 GPU 版本,是否有不同的设置参数。
我用的模型是 sherpa-ncnn-streaming-zipformer-bilingual-zh-en-2023-02-13
请问,这个问题,我们要往什么方向调查?
csukuangfj commented
gpu 需要 warmup, 前面几次运算的时间需要忽略。
KennyHuangChina commented
今天按照您的提示,做了做次测试,送了 10块 到 20块 30s 的 PCM buffer,耗时均稳定在 30s 左右,并没有下降的趋势。
每次送 PCM buffer 给 sherpa lib 的时候,分别有如下 3中设置
- 调用 model.reset(true)
- 调用 model.reset(false)
- 不调用 model.reset()
三种测试,结果均一致,没有明显差别。这里的 model 是
model = SherpaNcnn(assetManager = mAssetMgr, config = config)
测试过程中,CPU 130 左右,手机为 Mi 10S(snapdragon 870)