SAN JOSE, Calif. Apple Inc. has submitted the Open Compute Language (OpenCL) to an ad hoc industry group that aims to define a programming environment for applications running across both x86 and graphics chips. The move is one of a growing number of efforts to extend the ubiquitous C language for increasing parallelism in multicore processors.
The Khronos Group put out on Monday (June 16) a call for participation in its Compute Working Group that is drafting programming standards for heterogeneous systems. Members of the work group include Advanced Micro Devices, Apple, ARM, IBM, Intel, Nokia, Nvidia, Samsung and Texas Instruments.
Khronos created the working group at a meeting in late May following suggestions from Apple. The group has met just once to date and selected Aaftab Munshi, a software architect at Apple, as its temporary chairman.
Apple chief executive Steve Jobs recently announced the company will support OpenCL in the next version of its operating system, called Snow Leopard, and due out later this year. The new OS "is optimized for multi-core processors, taps into the computing power of GPUs," and supports up to 16 Tbytes of memory, according to an Apple press release.
AMD said it will support OpenCL as an environment for the versions of its latest graphics processors announced Monday (June 16) that will be used as parallel processors for high-end technical applications. Nvidia launched last year its own programming environment, called Cuda, for such apps.
Neil Trevett, president of the Khronos and a vice president for mobile content at Nvidia, said OpenCL is aimed primarily at consumer applications for desktop computers. However he said it could be extended to mobile and embedded processors and does have some overlap with Nvidia's Cuda.
Trevett said Nvidia welcomes OpenCL as another tool for programmers tapping into multicore processors. The Khronos work group is open to other technical submissions, but so far has only received Apple's OpenCL.
"There is an opportunity to unlock the parallel capabilities of GPUs in a more effective way," Trevett said. "OpenCL and Cuda are well aligned and share some common concepts," he added.
As processors increase the number of cores they support, software will eventually have to shift to a new parallel model, probably using new runtime environments and languages, researchers and market watchers say. However, in the short term many companies are looking at ways of extending the C language.
Founded in 2000, Khronos has more than 100 members. It has defined application programming interfaces for computer and embedded graphics processors such as OpenGL and OpenGL ES. It has also defined programming environments such as OpenML for those chips.