我正在将我的OpenCV 2.4.2迁移到OpenCV 3.0,以通过透明API使用OpenCL性能。但是,我注意到某些算法在CPU或GPU实现中花费的时间相同。
我搜索了官方文档,但没有找到答案。
如何知道算法在透明API中是否具有自动OpenCL转换?
最佳答案
如果您有amd gpu,请使用Codexl并创建一个新的Codexl项目,附加您的项目并从Codexl启动 session ,或者从IDE启动您的项目并将Codexl附加到其运行时。然后,当程序完成时,codexl会自动最终生成必要的图形和性能分析信息(如果您选择适当的gpu性能分析模式)。
我曾经使用Codexl来了解compubench.com如何处理工作组大小。(由于内存资源需求,有时是32个)
如果不使用opencl,则codexl会通过一个对话框提示您,告知您可能的原因。
您甚至可以知道错误,以这种方式发出警告并查看内核字符串(但可能已损坏)。
英特尔拥有Code-Builder
Nvidia也有一些分析器。
关于c++ - 如何知道OpenCV 3.0算法在透明API中是否具有OpenCL实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34494520/