OpenCL ties Apple to NVIDIAApple's push to accelerate Mac performance in innovative ways is likely to bind the company even closer to NVIDIA's GPUs, which already support the OpenCL technology Apple will be releasing in Mac OS X 10.6 Snow Leopard.
This fall, Apple passed over Intel's integrated chipset to use the new NVIDIA 9400M controller in its unibody MacBooks. The controller's integrated GPU is significantly more powerful than the Intel GMA X3100 integrated graphics processor Apple had been using, providing as much as 6.2 times the graphics performance of the Intel chip according to benchmarks Apple touted at its launch.
The new NVIDIA GPU-integrated controller, as with all of NVIDIA's GeForce 8 series or better GPUs, supports the company's CUDA design, which makes it capable of running OpenCL tasks that offload processing to the GPU rather than the CPU.
Earlier this month, AMD also announced official support for OpenCL on its ATI GPUs that support Stream technology. It expects to deliver its OpenCL-compliant compiler and runtime early next year as part of its ATI Stream 1.4 SDK. AMD says Stream support is already built into "millions" of the company's Radeon graphics cards, but delivering that latent processing power will require graphics drivers with support for AMD's Stream SDK as well as the OpenCL tools.
Mac users have never been at the top of the list for receiving GPU driver support from ATI or NVIDIA; in many cases, Apple has delivered its own driver software that often does not take full advantage of the hardware features available on other platforms. However, the company's latest MacBook collaboration with NVIDIA demonstrated some of the best graphics hardware support yet on the Mac, suggesting new interest from Apple in pushing its platform's performance via GPUs.
OpenCL helps solve two problems in that regard. First, Apple is delivering it as a vendor neutral, cross platform technology that overlays the proprietary, incompatible efforts of NVIDIA's CUDA and AMD's ATI Stream, making it much easier for third party developers to support both and therefore broadly deliver GPGPU software acceleration. Both NVIDIA and AMD are interested in broadening the use and utility of their GPUs beyond just graphics and gaming; OpenCL solves an key industry interoperability problem in a way that key vendors have indicated they are happy to support.
OpenCL also solves a problem for Apple: the company wants to continue be able to work with both AMD and NVIDA, using whichever GPUs offer the best price and performance. By providing a powerful cross platform parallelism technology that can target both company's products, Apple can deliver the biggest performance leap possible in Snow Leopard without tying itself permanently to one vendor. In the short term however, it appears NVIDIA will help Apple achieve GPU acceleration fastest on the Mac. AMD's support for OpenCL will help broaden the technology's critical mass on other platforms, including Linux, reserving the potential for Apple to use AMD GPUs in the future.