所以我运行了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?
非常感谢!
答案 0 :(得分:0)
您的理解大多是正确的。您必须确保您使用的函数是两者 OpenCL 1.1和1.2的一部分,即应避免在1.2中弃用的函数,因为无法保证它们将在OpenCL 1.2设备上提供。查看相当短的已弃用功能列表,我认为这不会是一个重大问题。
如果您必须使用OpenCL 1.2功能,则必须使用CPU并忘记GPU。但是,我还没有在1.2标准中找到任何强迫我这样做的东西。
只是一个警告,如果您使用任何使用OpenCL的库,请确保它们所针对的版本或者是否有代码可以在两者之间切换。在Nvidia GPU上使用1.2中的函数会导致段错误。