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

How to know if an OpenCV 3.0 algorithm has an OpenCL implementation in the transparent API

我正在将我的 OpenCV 2.4.2 迁移到 OpenCV 3.0,以便通过 Transparent-API 使用 OpenCL 性能。但是,我注意到一些算法在 CPU 或 GPU 实现中花费相同的时间。
我在官方文档中搜索,但没有找到答案。 如何知道算法是否在透明 API 中具有自动 OpenCL 转换?

如果你有 amd gpu,使用 codexl 并创建一个新的 codexl 项目,附加你的项目并从 codexl 启动会话,或者,从你的 IDE 启动你的项目并将 codexl 附加到它的运行时。然后当程序完成时,codexl 最后会自动生成必要的图形和分析信息(如果您选择适当的 gpu 分析模式)。

我用过一次 codexl 来了解 compubench.com 如何处理工作组大小。(由于内存资源需求,有时是 32)

如果它不使用 opencl,codexl 会通过一个对话框通知您 window 告诉您可能的原因。

您甚至可以通过这种方式知道错误、警告并查看内核字符串(但可能会损坏)。


英特尔有 Code-Builder

Nvidia 也有一些分析器。