opencv - 我如何知道 OpenCV 方法是否具有 OpenCL 实现
问题描述
我一直试图弄清楚特定的 OpenCV (3.4) 方法是否有支持它的 OpenCL 实现。我找到了这个线程:
如何知道 OpenCV 3.0 算法是否在透明 API 中有 OpenCL 实现
我将其解释为“使用 GPU 分析器运行代码并查看会发生什么”,但这似乎是一种非常低效的方法。有没有更系统的方法可以找到 opencl 实现?
我想要这些信息的原因是我想避免在无法获得任何收益时将数据传递给设备。
解决方案
我使用调试器来单步执行功能,如果您使用 OpenCL 编译 OpenCV 并且可执行文件在具有 GPU 的机器上运行,则在开始时有一个开关,调用 ocl 实现。
其他选项:
- 查看 OpenCV 2.x 的 ocl 命名空间文档
- 搜索 ocl 实现的源代码。在大多数情况下,ocl 函数位于模块的子目录中。例如 modules\photo\src\opencl\nlmeans.cl
推荐阅读
- python - 在 react app 调用的烧瓶 api 中使用 Sqlite 和 sqlalchemy 的线程和递归问题
- python - 使用 for 循环将天数添加到 pandas 中的所有日期列
- python - 如何读取复制到剪贴板 Linux 和 MacOS 的文件的绝对路径?
- html - 点击事件问题Jquery后关闭汉堡菜单
- vba - Application.ShowWindowsInTaskbar 在 Word 365 中给出“运行时错误 4609 字符串太长”。它是否已弃用?
- reactjs - 想要在部署后禁用源
- java - 如何在 Spring 中使用容器管理的 EntityManager 重用(本机)JPA 查询
- r - 一些箱线图改进
- arrays - SAS 存储值临时数组
- php - 是否可以对输出 JSON 数组元素求和并将其存储在数组中?