OpenCL 1.0 is the first API of its kind

Dec 11, 2008 15:39 GMT  ·  By

The Khronos Group has managed to release the first OpenCL specification as planned, and announced the ratification at SIGGRAPH Asia in Singapore. OpenCL is known as the first royalty-free standard for cross platform parallel programming of multi-core processors, Cell-type processors, GPUs and other parallel processing devices. Moreover, it is considered to be the first truly heterogeneous programming environment unveiled in the industry.

The Open Compute Language is a world's first API of the kind. Noticeably, the standard has been ratified by big players, including AMD, Apple, ARM, Broadcom, Intel, Motorola, Nokia, Nvidia and many others. Game publishers like Activision Blizzard and Electronic Arts have also had a word to say on the specification's development, as it would be used in future game engines.

The two major graphics card makers, AMD and NVIDIA, have both announced support for the specification. Moreover, AMD has been reported to plan releasing an OpenCL-compliant SDK during the first half of the next year, while stating that it started the implementation on its Stream SDK.

“The potential benefits of having applications run on both the CPU and GPU within a system are enormous,” said Rick Bergman, senior vice president and general manager of AMD's Graphics Products Group. “Unfortunately, up until now programmers could only choose proprietary programming languages that limited their ability to write vendor-neutral, cross-platform applications. With today’s ratification of OpenCL 1.0, I’m happy to say those days are over. Developers now have a better, truly open choice.”

NVIDIA also announced that all of its CUDA-enabled GPUs feature support for OpenCL 1.0. “The OpenCL specification is a result of a clearly recognized opportunity from leaders like Nvidia to grow the total market for heterogeneous parallel computing through an open, cross-platform standard. Nvidia will continue to be very active in the OpenCL working group to drive the evolution of the specification and will support OpenCL on all its platforms, providing developers an additional way to tap into the awesome computational power of our GPUs,” said Neil Trevett, vice president of mobile content at NVIDIA, who also chairs the OpenCL working group.

The Khronos Group said that 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 Electronic Engineers' IEEE 754 standard - efficient interoperability with OpenGL, OpenGL ES and other graphics APIs".

The Group's site states that "OpenCL supports a wide range of applications, from embedded and consumer software to HPC solutions, through a low-level, high-performance, portable abstraction. By creating an efficient, close-to-the-metal programming interface, OpenCL will form the foundation layer of a parallel computing ecosystem of platform-independent tools, middleware and applications".