MNN icon indicating copy to clipboard operation
MNN copied to clipboard

linux x86_64 平台, 多线程情况下, mnn 和推理速度不如 onnx,有可能是什么原因?

Open dearwind153 opened this issue 1 year ago • 4 comments

  • MNN 版本:MNN-2.9.0
  • 平台:linux x86_64, Intel(R) Xeon(R) Platinum 8255C CPU @ 2.50GHz
  • 使用 工程中 release.sh 编译 pymnn
  • 开启的编译选项

CMAKE_ARGS="-DMNN_BUILD_CONVERTER=on -DMNN_BUILD_TRAIN=ON -DCMAKE_BUILD_TYPE=Release -DMNN_BUILD_SHARED_LIBS=OFF -DMNN_SEP_BUILD=OFF -DMNN_USE_THREAD_POOL=OFF -DMNN_OPENMP=ON -DMNN_BUILD_OPENCV=ON -DMNN_IMGCODECS=ON -DMNN_BUILD_TORCH=ON -DMNN_VULKAN=ON -DMNN_AVX512=ON -DMNN_BUILD_DEMO=ON -DMNN_BUILD_BENCHMARK=ON MNN_-DAVX512_VNNI=ON"

多线程情况下(thread_num>=2时), mnn 和推理速度不如 onnx,有可能是什么原因?

onnx_inference_cost(s) mnn_inference_cost(s) thread_num
0.50s 0.47s 1
0.29s 0.31s 2
0.24s 0.28s 3
0.19s 0.22s 4

dearwind153 avatar Jun 07 '24 12:06 dearwind153

相关模型发一下吧,有可能是 featuremap 尺寸较小。不利于 mnn 并行。AVX512 上多线程并行需要以 48 * numberThread 的 featuremap 尺寸

jxt1234 avatar Jun 08 '24 01:06 jxt1234

@jxt1234 你好,这个模型:已发送至邮箱 [email protected]

dearwind153 avatar Jun 10 '24 12:06 dearwind153

改用 openMP 线程池试试。 https://github.com/alibaba/MNN/issues/2854

zhenjing avatar Jun 11 '24 07:06 zhenjing

@jxt1234 你好,编译 pymnn 时,已设置为关闭内部线程池,开启 OPENMP -DMNN_USE_THREAD_POOL=OFF -DMNN_OPENMP=ON image

dearwind153 avatar Jun 11 '24 08:06 dearwind153

Marking as stale. No activity in 60 days.

github-actions[bot] avatar Aug 10 '24 09:08 github-actions[bot]