我正在运行多个 python 进程(在这种情况下使用多处理模块为 4 个)用于人员检测(使用 ssd mobilenet 模型),每个进程都有自己的 OpenVINO 推理引擎。每个进程的 FPS 都非常低(不超过 10)。我的怀疑是 CPU 没有得到最佳利用,因为每个引擎产生的线程数量很高,这增加了开销以及跨进程共享 CPU。
同样对于单个进程,当 OMP_NUM_THREADS 设置为 4 时,我的速度最高可达 60fps。
My CPU details are:-
2 Sockets
4 cores each socket
1 thread each core
Total - 8 CPUs
那么会是什么
- 在这种情况下 OMP_NUM_THREADS 的最佳值?
- 如何避免在每个进程之间共享 CPU?
目前我正在使用 OMP_NUM_THREADS 和 KMP_AFFINITY 变量,但只是在设置值时进行尝试。有关如何设置的任何细节都会非常有帮助。谢谢