5

我在 Raspberry Pi 2 项目中使用OpenTLD(使用 OpenCV 进行图像分析)进行对象跟踪。为了解决延迟问题(大约 3 秒的视频延迟),我在编译时启用了 OpenMP 支持。现在,我只有大约 2 秒的延迟。运行top告诉我最多只有 ~170% 的 CPU 被使用opentld,这让我怀疑 OpenMP 只使用了 Raspberry Pi 2 的四个内核中的两个。

根据我对这个 Wikipedia 图的理解,OpenMP 应该能够利用所有四个内核。这是 OpenMP 无法识别所有内核的问题,还是其他原因?

4

1 回答 1

1

首先,你应该export OMP_NUM_THREADS=4在控制台上做。

CPU 的最高报告使用率为 170%,并不一定意味着您只使用 2 个线程运行。代码可能受内存限制,也可能提供较低的 CPU 使用率。

于 2015-03-17T15:26:57.750 回答