For the past couple of years, graphics chip maker Nvidia’s big strategic thrust has been to make its chips capable of more than just graphics processing. It unveiled its own CUDA processing architecture and programming language to allow software programmers to use graphics processors to handle various parallel computing tasks beyond drawing pretty pictures on screens.
Today, Santa Clara, Calif.-based Nvidia is announcing that its CUDA architecture will be compatible with a new technical standard for graphics-based computing, dubbed OpenCL (short for open computing language). As its name implies, OpenCL was originally started by Apple as a neutral, open platform for computing tasks that are handled by a combination of microprocessors (such as those made by Intel and Advanced Micro Devices) and graphics chips (made by Nvidia and AMD). Now OpenCL is the product of an industry consortium led by the Khronos Group.
CUDA-based programs are proliferating and enable some software to run much faster by taking advantage of a microprocessor and a graphics chip at the same time. Elemental Technologies’ Badaboom, launched in October, dramatically reduces the time it takes to transfer a video from one format to another, as you transfer a video from a computer to an iPod.
Nvidia has made great strides with CUDA. There are more than 100 applications for it and 25,000 developers working with its programming tools. The company considers CUDA to be an advantage over AMD. But with OpenCL, programmers no longer have to worry about being locked into Nvidia solutions. AMD and Nvidia are both big supporters of OpenCL.
With a standard, programmers will be able to write their applications to run on OpenCL and they will run on any machines, whether they have Nvidia or AMD graphics chips. This doesn’t mean that CUDA is shut out. Rather, applications written in OpenCL will sit atop the CUDA architecture. As CUDA and OpenCL share similarities, translating code from one to another is simple and Nvidia will release a guide for developers wishing to do so, says Manju Hegde, head of the CUDA division at Nvidia.
OpenCL is in its initial alpha testing stage now. A test version is expected to debut to the public in the first quarter of next year and a final version in the second. Meanwhile, Hegde said that the roadmap for CUDA will continue to evolve with full support for OpenCL as well as Microsoft’s new graphics-microprocessor technology, dubbed DX11 Compute. Apple plans to include OpenCL in its upcoming OS X Snow Leopard release.