Khronos Releases OpenCL 1.0; AMD, Nvidia Adopt Parallel Computing Spec
The Khronos Group has ratified and released OpenCL 1.0, an open specification aimed at enabling parallel programming across multi-core CPUs and GPUs. GPU heavyweights AMD and Nvidia came out immediately with support for the spec Tuesday, along with plans for products to support developers. AMD said it's backing OpenCL 1.0 and will "integrate a compliant compiler and runtime into the free ATI Stream Software Development Kit." Nvidia, meanwhile, said its CUDA parallel computing technology will "seamlessly run OpenCL."
As Khronos described it in information released today, "OpenCL enables software developers to take full advantage of a diverse mix of multi-core CPUs, Graphics Processing Units (GPUs), Cell-type architectures and other parallel processors such as Digital Signal Processors (DSPs). OpenCL consists of an API for coordinating parallel computation and a programming language for specifying those computations. Specifically, the OpenCL standard defines: a subset of the C99 programming language with extensions for parallelism; an API for coordinating data and task-based parallel computation across a wide range of heterogeneous processors; numerical requirements based on the Institute of Electrical and Electronics Engineers' IEEE 754 standard; [and] efficient interoperability with OpenGL, OpenGL ES and other graphics APIs."
AMD, for its part, said it's looking to put OpenCL technology into the hands of developers "as quickly as possible." As part of that effort, the company has committed to releasing an ATI Stream SDK developer edition with OpenCL 1.0 support in the first half of 2009. ATI Stream is designed to allow AMD GPUs to accelerate computing tasks beyond graphics applications.
Michael Chu, product manager, AMD Stream Software, told us via e-mail, "... [T]he initial release will likely target key ISVs so that we can work closely with them to help bring OpenCL tools, libraries and applications to market more quickly. After the initial release, we will look to expanding the audience. We view the ATI Stream SDK as a continually improving product that will have a regular release cadence. From release to release, we will continue to make performance improvements, tools additions and bug fixes. Also, as future revisions of OpenCL and other standards are ratified, we will bring those to our users as quickly as possible. OpenCL will be introduced as part of our ATI Stream SDK v2.0 offering."
Meanwhile, Chu said, AMD is also working to improve the ATI Stream SDK 1.x version. The company will launch version 1.3 Dec. 10, along with the ATI Catalyst 8.12 driver update, which unlocks ATI Stream acceleration capabilities built into ATI Radeon graphics cards.
Aside from AMD and Nvidia, other industry heavyweights have announced their support for OpenCL, including Intel and, of course, Apple, which originally proposed the draft specification and which has previously announced that its Mac OS X 10.6 ("Snow Leopard") will incorporate OpenCL technologies.
An overview of the OpenCL specification is being delivered by the Khronos Group at Siggraph Asia in SIngapore Wednesday. Further information about OpenCL can be found here.