Opencv TBB并行_,用于线程数较少的
我已经使用opencv人脸检测器编写了一个多视图人脸检测代码。我在一张图像上运行五个检测器(针对不同的姿势角度进行训练),并测量它们的权重来检测图像中的人脸。我已经使用TBB parallel_使代码并行,但是它只将性能提高了1.7倍。我想问一下,是否有更好的方法来并行运行五个探测器 我正在一个16核的集群上运行我的代码。我认为线程的数量(在我的例子中是5个)太少,无法利用完整的功能 有什么建议吗Opencv TBB并行_,用于线程数较少的,opencv,detection,tbb,parallel-for,Opencv,Detection,Tbb,Parallel For,我已经使用opencv人脸检测器编写了一个多视图人脸检测代码。我在一张图像上运行五个检测器(针对不同的姿势角度进行训练),并测量它们的权重来检测图像中的人脸。我已经使用TBB parallel_使代码并行,但是它只将性能提高了1.7倍。我想问一下,是否有更好的方法来并行运行五个探测器 我正在一个16核的集群上运行我的代码。我认为线程的数量(在我的例子中是5个)太少,无法利用完整的功能 有什么建议吗 谢谢,一些可能的问题需要研究: 其中一个探测器的运行时间比其他探测器长。例如,如果一个探测器占用
谢谢,一些可能的问题需要研究:
- 其中一个探测器的运行时间比其他探测器长。例如,如果一个探测器占用4个时间单位,而其他四个探测器各占用1个时间单位,则最可能的加速比为2x。在这种情况下,并行化慢速检测器本身可能会有所帮助
- 探测器运行如此之快,以至于平行探测器没有时间展开工作。如果每个探测器至少需要0.1秒,这应该不是问题
- 内存带宽可能是一种有限的资源,特别是当工作集不适合外部级别的缓存时