【发布时间】:2018-06-12 14:29:06
【问题描述】:
我一直在试图弄清楚一个特定的 OpenCV (3.4) 方法是否有一个 OpenCL 实现支持它。我找到了这个帖子:
How to know if an OpenCV 3.0 algorithm has an OpenCL implementation in the transparent API
我将其解释为“使用 GPU 分析器运行代码并查看会发生什么”,但这似乎是一种非常低效的方法。有没有更系统的方法可以找到 opencl 实现?
我想要此信息的原因是我想避免在无法获得任何收益时将数据传递给设备。
【问题讨论】:
-
我对 OpenCV 不是很熟悉,但根据我的阅读,要使用 OpenCL,您需要使用
cv::UMat类型。因此,如果某些算法在 GPU 上运行良好,则使用cv::Mat类型。 stackoverflow.com/questions/33602675/… 可能有用。 -
@kanna 谢谢,始终使用 UMat 的问题是图像数据不断地被复制到设备内存中或从设备内存中复制出来,这可能会非常昂贵。我希望有更多的控制权。