OpenMP令人失望的结果

时间:2018-12-24 11:22:51

标签: opencv parallel-processing openmp

我正在尝试使用OpenCV和OpenMP并行化一些代码。

该代码独立地对100张图像执行FFT。这是在并行for循环中执行的,该循环调用其中计算FFT的函数。

由于没有数据依赖性,我希望加速与内核数(4个实数,8个逻辑数)成正比。

但是顺序版本需要2秒,而并行版本则需要1.2秒。我确实观察到内核上的工作负载在增加,几乎达到了总处理器负载的100%(相比之下,单线程情况下约为20%),但这并不能转化为更快的执行力。

下面,线程数量增加的执行时间:

1: 2092 ms
2: 1348 ms
3: 1199 ms
4: 1173 ms
5: 1183 ms
6: 1200 ms
7: 1205 ms
8: 1167 ms
9: 1182 ms
10: 1174 ms

这可能是由于OpenMP的开销引起的,还是我缺少了什么?

0 个答案:

没有答案