OpenCL Developer support by NVIDIA, AMD and Intel

There was some guy at Microsoft who understood IT very well while being a businessman: “Developers, developers, developers, developers!”. You saw it again in the mobile market and now with OpenCL. Normally I watch his yearly speech to see which product they have brought to their own ecosphere, but the developers-speech is one to watch over and over because he is so right about this! (I don’t recommend the house-remixes, because those stick in your head for weeks.)

Since OpenCL needs to be optimised for each platform, it is important for the companies that developers start developing for their platform first. StreamComputer is developing a few different Eclipse-plugins for OpenCL-development, so we were curious what was already there. Why not share all findings with you? I will keep this article updated – know this article does not cover which features are supported by each SDK.

NVIDIA

Even with a high focus on CUDA, OpenCL is bundled with most dev-tools too. At the official OpenCL-page it looks like they did not finish the page, headed as “What is CUDA?”. The links are broken, but de OpenCL-zone is easily found with Google (old link does not work anymore, in case you had bookmarked that site). I of course don’t like the presentation of OpenCL as secondary, but it is their choice.

Here is all there is available:

OpenCL-support is standard on all current drivers, so after downloading the SDK you can start developing. On Linux there is no IDE-support, but on Windows it is well integrated in Visual Studio.

AMD

AMD is currently the strongest supporter of OpenCL. They have many tools available and loads of free high quality up-to-date documentation.

Their OpenCL-zone covers most you can find about OpenCL.Here is the full list:

Always have been curious if StreamComputing had to do something with this: “Note: ATI Stream Technology is now called AMD Accelerated Parallel Processing (APP) Technology.”

Their drivers are more up-to-date than NVIDIA’s; can you remember we complained last year AMD was lagging behind? Things can change fast in this world.

Intel

Intel just started in the OpenCL-market and focuses on Windows only; Linux and OSX-support is not public (if ever).

The SDK can be run from the command-line and from within Visual Studio.

IBM

They have just released their OpenCL 1.1 SDK after being silent for a long time. As Windows does not run on their processors, the SDK is Linux-only. Unofficially it works for PS3 too, I’ve been told. Three packages are provided: The SDK, code-samples and minimal documentation. There is no IDE-support, just the good old command-line.

The developers forum is IBM-hardware focused; but it also discuses a lot of common stuff around OpenCL itself – just like the other forums.

Conclusion

It is clear Windows is the best targeted platform here. OSX, Linux and others from the UNIX-family have just little support. Apple Xcode seems not to be straightforward to set up for OpenCL-development, if I read the forums and blogosphere – let me know if it works out-of-the-box nowadays. There is many other software like alternative debuggers (i.e. Gremedy gDebugger and OCL EMU), wrappers, code-analysers, IDE-support, etc., etc., but these are not the first thing a developer gets in front of him/her when getting the SDK for the available hardware. The last word about developer support is not said, and we at StreamComputing will have a say in it.

If you want more independent information about developer-support, go to the Khronos OpenCL Forums.



Recent Posts:

Top Keywords for this page:

  • opencl eclipse intel

  • MySchizoBuddy

    When developing OpenCL applications you need hardware from the top 3 vendors Intel, AMD, Nvidia. You never know what your customers are running.

    However, what system configuration do you recommend in developing OpenCL applications.

    • http://nl.linkedin.com/in/vincenthindriksen/ Vincent Hindriksen

      Currently (June 2011) I recommend an Intel SandyBridge CPU (optionally with integrated GPU) and an AMD Radeon HD68XX or HD69XX for good OpenCL performance. But watch AMD’s Fusion platform closely – in a few months I’ll probably recommend their CPU.