Nvidia released its OpenCL driver and SDK to developers, the company's new "heterogeneous" computing environment that runs on the CUDA architecture.
For the uninitiated, OpenCL stands for Open Computing Language, and is defined as a framework for writing programs that execute across platforms of structural variations and multiple parts including CPUs, GPUs, and all other processors (heterogeneous). OpenCL is ideal because it can allow application to execute on an immeasurable number of PC configurations (cross platforming), possibly addressing the problems that many programs face today through various patches.
For example, OpenGL--via open industry standards--addresses multiple GPUs, and OpenAL addresses multiple audio processors; OpenCL works in the same way, but encompasses processors, GPUs, and more. Currently the non-profit technology "consortium" Khronos Group--consisting of id Software, Intel, Nvidia, Sun Microsystems, Creative Labs and more--manages OpenCL. Along with Nvidia, Intel, and AMD, Apple originally submitted the OpenCL proposal to Khronos back in the summer of 2008. By December 2008, Khronos approved the technical specifications and allowed the specs to be released to the public.
On Monday, Nvidia released its OpenCL driver and software development kit (SDK), however only through its OpenCL Early Access Program. Nvidia found it necessary for this early release in order to receive feedback from the EAP participants before the release of the beta (to all GPU Computing Registered Developers) within the next few months. According to the company, the OpenCL driver will run on the CUDA architecture, enabling the driver to take advantage of Nvidia's GPU parallel computing.
"At the core of Nvidia’s GPU Computing strategy is the massively parallel CUDA architecture that Nvidia pioneered and has been shipping since 2006," stated the company in a press release. "Accessible today through familiar industry standard programming environments such as C, Java, Fortran and Python, the CUDA architecture supports all manner of computational interfaces and, as such, is a perfect complement to OpenCL. Enabled on over 100 million Nvidia GPUs, the CUDA architecture is enabling developers to innovate with the GPU and unleash never before seen performance across a wide range of applications."
The company said it would be beta-testing OpenCL with developers throughout the year. However, to get an early sample, interested readers may want to check out this YouTube video of the OpenGL demonstration--running on Nvidia's Quadro FX 570M GPU--during a speech at Siggraph Asia 2008. While the clip would make an excellent screensaver (one viewer even made that comment), the demo shows the "flexibility" of OpenCL, allowing the end-user to change settings--including cluster scale and velocity damping--on the fly. Additionally, this YouTube video displays AMD's demonstration, displaying cool effects that turned a hand-drawn AMD logo into a colorful explosion of fireworks and energy rays.