OpenCL Gives Your Computer Wings

There’s been a lot of talk lately about programming language OpenCL, as the new version of Apple’s OS X operating system, which uses it, is due to be unveiled soon. But what exactly is OpenCL and why should you care? It all boils down to increasing system performance, and bowing to the realities of today’s visually intensive computing. Like Red Bull purports to do for tired partygoers, OpenCL gives computing wings.

OpenCL is a programming framework that allows software to run on both the CPU and the graphics processor of the computer. This means programs will run faster and offer more performance on a machine’s existing hardware (provided it has a separate GPU rather than integrated graphics). Most programs are either written to run on the CPU (a common Intel or AMD x86 processor) or specific to the GPU, such as video games. In the last few years, however, chip vendors have offered software development kits and frameworks that allowed developers to access the GPU for general purpose tasks, such as data processing or transcoding, that could be parallelized to run on a multicored GPU.

Nividia pushed CUDA for scientific computing while AMD tried to push Close to the Metal (now Stream). But as sending tasks to the GPU became easier, the software and hardware providers realized an open standard that wasn’t linked to a particular chip vendor would be the best option. So earlier this year Apple offered OpenCL to the Khronos Group, a standards-setting organization, and Intel, Nvidia and AMD joined forces to create a standard that would work on multiple chips.

The standard was released this month, so now any programmer who wants to borrow a little power from the GPU can. It should also come in handy for running visuals on devices such as future iPhones, or mobile devices that use Nvidia’s Tegra chip, which has a separate graphics core. Indeed, Imagination, the company that’s licensed its graphics core to Apple for use in future iPhones, is hiring OpenCL engineers. Prepare for computing to get faster and prettier — from laptops to smartphones.