Take the 2-minute tour ×

I consider using OpenCL in a consumer product which is currently under development.

Doing a small research I found that generally there is good support under Mac OSX. Linux support is also relatively good, but my target audience does not use Linux. It remains to check how well it is supported in Windows.

Regarding Windows I found OpenCL distribution which raises some concerns.

Do any of you have any experience with using OpenCL in consumer-oriented products under Windows? I am more interested in the GPU side of OpenCL, specifically driver support.

share|improve this question
add comment

2 Answers

Just like CUDA or Stream, OpenCL needs to be supported by the driver. Most CUDA-capable GPUs support OpenCL with a somewhat up-to-date driver (CUDA 1.0 upwards). In fact, if you compile with, say, CUDA SDK 4.1 your end users will need newer drivers than if you had used OpenCL.

Also, OpenCL is not bound to any GPU architecture. While this might be problematic for specifically designed algorithms, it shouldn't have a very high impact on normal end user programs.

At least with CUDA, you can only compile code optimized for the current known major version. Compiling OpenCL kernels on the end user machine might allow optimizations for newer binary specifications in the future.

The crashes the author in that questions reported for Nvidia OpenCL generally seem to happen a lot if resources are not freed properly. I've been seeing similar crashes until I fixed a leak that didn't release created kernels. I'm not saying it's the only reason why it might crash, but apart from programmer errors it appears fairly stable to me.

share|improve this answer
add comment

AMD and NVidia both support OpenCL on most (all?) of their GPUs

Unfortunately Intel only supports it on the CPU which is a bit pointless and if you have to insist that the user has a separate GPU for your app you can also insist that they have an NVidia one and use CUDA. This has limited the uptake of OpenCL.

share|improve this answer
Not all? but this: nvidia list, amd list –  elmigranto May 10 '12 at 20:51
@elmigranto - that's a list of Nvidia Cuda supported GPUs. I believe that Nvidia support openCL on all the Cuda capable chips. –  Martin Beckett May 10 '12 at 20:55
NVIDIA probably does. But since NVIDIA's OpenCL implemented on top of CUDA, one can be sure that GPUs without CUDA support won't support OpenCL either. –  elmigranto May 10 '12 at 21:06
add comment

Your Answer


