首页 > 解决方案 > 我如何知道 OpenCV 方法是否具有 OpenCL 实现

问题描述

我一直试图弄清楚特定的 OpenCV (3.4) 方法是否有支持它的 OpenCL 实现。我找到了这个线程:

如何知道 OpenCV 3.0 算法是否在透明 API 中有 OpenCL 实现

我将其解释为“使用 GPU 分析器运行代码并查看会发生什么”,但这似乎是一种非常低效的方法。有没有更系统的方法可以找到 opencl 实现?

我想要这些信息的原因是我想避免在无法获得任何收益时将数据传递给设备。

标签: opencvopencl

解决方案


我使用调试器来单步执行功能,如果您使用 OpenCL 编译 OpenCV 并且可执行文件在具有 GPU 的机器上运行,则在开始时有一个开关,调用 ocl 实现。

其他选项:

  • 查看 OpenCV 2.x 的 ocl 命名空间文档
  • 搜索 ocl 实现的源代码。在大多数情况下,ocl 函数位于模块的子目录中。例如 modules\photo\src\opencl\nlmeans.cl

推荐阅读