OpenCL兼容性差异

时间:2013-05-31 19:20:23

标签: macos opencl compatibility

所以我运行了How can i test for OpenCL compability?中的代码 对于iMac(2012年末) 我得到了以下结果:

  

设备Intel(R)Core(TM)i7-3770 CPU @ 3.40GHz支持OpenCL 1.2
  Device GeForce GTX 675MX支持OpenCL 1.1

这是否意味着为了让我立即使用CPU GPU运行代码,我将不得不使用OpenCL 1.1?如果我想使用OpenCL 1.2规范进行编码怎么办?这是否意味着代码只会使用CPU?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您的理解大多是正确的。您必须确保您使用的函数是两者 OpenCL 1.1和1.2的一部分,即应避免在1.2中弃用的函数,因为无法保证它们将在OpenCL 1.2设备上提供。查看相当短的已弃用功能列表,我认为这不会是一个重大问题。

如果您必须使用OpenCL 1.2功能,则必须使用CPU并忘记GPU。但是,我还没有在1.2标准中找到任何强迫我这样做的东西。

只是一个警告,如果您使用任何使用OpenCL的库,请确保它们所针对的版本或者是否有代码可以在两者之间切换。在Nvidia GPU上使用1.2中的函数会导致段错误。