Sunday, November 21, 2010

Intel releases SDK for OpenCL

When Intel started talking about Sandy-Bridge, their upcoming CPU/GPU—or APU, if you will—architecture a while ago, they mentioned that it would be compatible with OpenCL, an open framework for parallel programming on a broad range of architectures, aimed at taking advantage of heterogeneous systems with traditional CPU cores and more parallel ones, for instance GPUs. OpenCL is managed by the Khronos Group, and backed by AMD, Apple, NVIDIA, and now Intel.

Indeed, considering their recent announcement regarding OpenCL and Sandy-Bridge, it should come as no surprise that they have just released their own SDK for OpenCL, albeit in an Alpha version. With Intel, AMD, Apple and NVIDIA actively supporting it, OpenCL now has potential to become the standard for parallel computing. Granted, NVIDIA would probably like you to use CUDA instead, but they will support any initiative that takes advantage of their GPUs for compute purposes.

The obvious advantage of OpenCL is that it's compatible with most widely-used architectures. That's not to say that you can just write your code once and have it run blissfully fast on all parallel processors, though. Unfortunately, some amount of tuning will always be necessary to extract performance from specific architectures, but at least, with OpenCL, you can do so using one language, sharing some code, and using one set of tools. As such, it's a huge improvement over having to use CUDA for NVIDIA, Brook+/CAL/CTM for ATI/AMD, and traditional programming languages for CPUs.

No comments:

Post a Comment