Opencv-ocl可执行文件与不同的硬件?

时间:2013-07-17 06:32:41

标签: c++ windows opencv opencl gpgpu

我正在开发 opencv-OCL库。我使用 AMD Radeon™HD 7400M 系列GPU。我几乎无需澄清。

1)我下载了AMD SDK和使用opencl enbled构建的opencv ,并为面部检测制作了基本的c ++可执行文件。 在这种情况下,我的exe如何在以下场景中表现:
一个。当它运行在' OpenCL支持的基于Intel或NVIDIA GPU '的计算机上时? 湾当它在计算机没有OpenCL 支持GPU的情况下运行时?

2)我是否需要为不同的硬件制作不同的opencv-ocl exe

1 个答案:

答案 0 :(得分:1)

回答你的问题:

  1. 无论是在AMD,Nvidia还是Intel GPU上运行,您的exe都应该产生相同的输出,尽管运行时间可能会有很大差异。应该向OpenCV开发人员报告任何错误。一个例外:浮点运算会在不同硬件之间产生稍微不同的结果,但这些差异应该非常小,即接近浮点数/双数精度的极限。我不知道没有任何OpenCL GPU时会发生什么。

  2. 通过不同的硬件,我假设AMD GPU与Nvidia GPU相比,而不是Mac与x86。在这种情况下,您不需要提供多个可执行文件。这就是使用OpenCL的全部原因,它隐藏了OpenCL标准背后的各个供应商的原生接口(例如Nvidia CUDA)。