Parallel Computing OpenCL 1.0 Spec Released; Gets AMD and Nvidia Support
The Khronos Group, an industry consortium specializing in dynamic media, has ratified and released the OpenCL 1.0 specification. OpenCL 1.0 is aimed at enabling parallel programming across multicore CPUs and GPUs (graphics processing units). GPU heavyweights AMD and Nvidia, both members of the group, expressed support for the open spec on Tuesday, and described their product plans to help developers.
AMD will back OpenCL 1.0 and "integrate a compliant compiler and runtime into its free ATI Stream Software Development Kit." Nvidia said its CUDA parallel computing technology will "seamlessly run OpenCL."
The spec will support developers working with various components, not just multicore CPUs and GPUs, but also "cell-type architectures and other parallel processors such as Digital Signal Processors (DSPs)," according to an announcement issued by the Khronos Group. The spec describes an open application programming interface (API) for parallel computations, and adds a programming language as well.
"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," according to he Khronos Group.
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 on 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 (code-named "Snow Leopard") will incorporate OpenCL technologies.
An overview of the OpenCL specification is being delivered by the Khronos Group at Siggraph Asia in Singapore on Wednesday. Further information about the OpenCL spec can be found here.
Dave Nagel is the executive editor for 1105 Media's educational technology online publications and electronic newsletters. He can be reached at [email protected].