Windows下的OpenCL成熟度 我考虑在正在开发的消费产品中使用OpenCL。

Windows下的OpenCL成熟度 我考虑在正在开发的消费产品中使用OpenCL。,windows,opencl,Windows,Opencl,我做了一个小调查,发现MacOSX下通常有很好的支持。Linux支持也相对较好,但我的目标受众不使用Linux。还有待于检查它在Windows中的支持程度 关于Windows,我发现这引起了一些担忧 你们中有人有在Windows下的面向消费者的产品中使用OpenCL的经验吗?我更感兴趣的是OpenCL的GPU端,特别是驱动程序支持。AMD和NVidia都在其大部分(全部?)GPU上支持OpenCL 不幸的是,英特尔只在CPU上支持它,这有点毫无意义。如果你必须坚持要求用户为你的应用程序使用单独的

我做了一个小调查,发现MacOSX下通常有很好的支持。Linux支持也相对较好,但我的目标受众不使用Linux。还有待于检查它在Windows中的支持程度

关于Windows,我发现这引起了一些担忧


你们中有人有在Windows下的面向消费者的产品中使用OpenCL的经验吗?我更感兴趣的是OpenCL的GPU端,特别是驱动程序支持。

AMD和NVidia都在其大部分(全部?)GPU上支持OpenCL


不幸的是,英特尔只在CPU上支持它,这有点毫无意义。如果你必须坚持要求用户为你的应用程序使用单独的GPU,你也可以坚持要求他们使用NVidia并使用CUDA。这限制了OpenCL的使用。

就像CUDA或Stream一样,OpenCL需要驱动程序的支持。大多数支持CUDA的GPU都支持OpenCL,并带有一些最新的驱动程序(CUDA 1.0以上)。 事实上,如果使用CUDASDK4.1进行编译,最终用户将需要比使用OpenCL更新的驱动程序

此外,OpenCL不绑定到任何GPU体系结构。虽然这对于专门设计的算法来说可能有问题,但它不应该对正常的最终用户程序产生很大的影响

至少使用CUDA,您只能编译针对当前已知主要版本优化的代码。在最终用户机器上编译OpenCL内核可能允许在将来对新的二进制规范进行优化

作者在一篇关于Nvidia OpenCL的问题的文章中提到,如果资源没有被正确释放,通常会发生很多崩溃。我一直看到类似的崩溃,直到我修复了一个没有发布created内核的漏洞。
我并不是说这是它可能崩溃的唯一原因,但除了程序员错误之外,它对我来说相当稳定。

不是
所有?
但这个:,@elmigranto-这是Nvidia Cuda支持的GPU列表。我相信Nvidia在所有支持Cuda的芯片上都支持openCL。Nvidia可能支持。但由于NVIDIA的OpenCL是在CUDA之上实现的,因此可以肯定,没有CUDA支持的GPU也不会支持OpenCL。