Windows下的OpenCL成熟度



我考虑在目前正在开发的消费类产品中使用OpenCL。

做了一个小的研究,我发现在Mac OSX下通常有很好的支持。Linux支持也相对不错,但我的目标受众并不使用Linux。还有待检查它在Windows中的支持情况。

关于Windows,我发现OpenCL发行版引起了一些担忧。

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

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

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

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

作者在为Nvidia OpenCL报道的问题中指出,如果资源没有得到适当释放,崩溃似乎经常发生。我一直看到类似的崩溃,直到我修复了一个没有发布已创建内核的泄漏。我并不是说这是它可能崩溃的唯一原因,但除了程序员的错误之外,它对我来说似乎相当稳定

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

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

最新更新