OpenCL, an emerging new standard for distributing applications across processor cores and GPUs promises to dramatically speed up processing time for parallelizable tasks. One Mac programmer was stunned to see a 492 second audio processing task shrink to a mere 14.1 seconds. (
http://www.supermegaultragroovy.com/blog/2009/11/12/swimming-in-opencl/)
In this case, the application was only accelerating the code across the many cores on his Mac. But OpenCL can also be used to run many types of computationally intense applications on top of the Graphics Processing Units (GPU) in many PCs. These engines were initially designed for texture mapping and rendering photorealistic imagery for computer games. But it turns out they are also ideal for things like protein folding, DNA analysis and other floating point calculations.
The Folding@Home project found that they could speed calculations by 30-times by taking advantage of the GPU in a PC with a custom built application. OpenCL hopes to make this style of programming applicable to a much wider audience. Ben Bergen with the Evolving Applications and Architectures Team, Los Alamos National Laboratory wrote that OpenCL will help them address several areas where there are no obvious tools or techniques to maintain portability across the variety of platforms they must routinely support.
The current OpenCL trailblazers are AMD, NVIDIA, and Apple, which have all released OpenCL compliant products. AMD makes multi-core chips, ATI graphics cards, and Stream processors for accelerating floating point calculations. NVIDIA specializes in graphics cards and chips, which are increasingly being used in next generation supercomputers. Apple sells a lot of media workstations and servers.
But a lot more support is expected as over 33 members have signed on to support the OpenCL standard. They include video game makers, chip vendors, cell phone vendors, and software developers. The technology promises to make it possible to speed up many types of computationally intense applications across multiple cores and special purpose DSPs in servers and workstations. New products are likely to come out more quickly thanks to the release of the OpenCL conformance testing suite last May which tests for functionality and computational accuracy.
Read the press release here:
http://www.khronos.org/news/press/releases/khronos-demonstrates-opencl-momentum-at-sc09
A list of OpenCL conformant products can be found here:
http://www.khronos.org/adopters/conformant-products/#topencl
Alpha level OpenCL drivers are also available for IBM’s POWER6 and Cell/B.E. Linux systems:
http://www.alphaworks.ibm.com/tech/opencl