Affiliate Disclosure
If you buy through our links, we may get a commission. Read our ethics policy.

OpenCL ties Apple to NVIDIA

Apple'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.



35 Comments

zunx 20 Years · 619 comments

Apple and nVidia, THIS IS WHAT IS NEEDED:

Mac OS X support for the nVidia multicore cards (Tesla Personal Supercomputer):
http://www.nvidia.com/object/tesla_c...solutions.html

Practical example for Mathematica:
http://www.wolfram.com/mathematica

being 100 times faster at:

http://www.physorg.com/news146247669.html

nVidia says that it is possible, but only if Apple allows it.

johnny mozzarella 18 Years · 1818 comments

I was debating if I should upgrade my 1st gen MacPro with an NVIDIA GeForce 8800 GT ($279) or the cheaper ATI Radeon HD 3870 ($199).

After reading this article I'm leaning towards the 8800 GT since it sounds like ATI will be slower in delivering drivers that will take advantage of OpenCL in Snow Leopard.

Now I'm debating if I should just wait till Snow Leopard comes out or the Mac Pro is refreshed and see if any new cards become available.

stonybrookadam 16 Years · 21 comments

You sir, are an idiot.

Let me get this straight:

*OpenCL is open. Anyone can implement. NVIDIA or AMD or Intel
*Apple's driver support from AMD and NVIDIA has historically been lacking (??)
*AMD announces its intention to write OpenCL drivers.

How the HELL does this "tie" Apple to Nvidia?

There is a shipping product from Nvidia, but AMD is trying to catch up. Tying would be availability from only one source for the indeterminate future. Last time I checked, 10.6 isn't shipping. Perhaps the AMD drivers will be shipping before 10.6!

Hardly unbiased or even linguistically correct journalism.

refulgentis 16 Years · 1 comment

Quote:
Originally Posted by stonybrookadam

You sir, are an idiot.

Let me get this straight:

*OpenCL is open. Anyone can implement. NVIDIA or AMD or Intel
*Apple's driver support from AMD and NVIDIA has historically been lacking (??)
*AMD announces its intention to write OpenCL drivers.

How the HELL does this "tie" Apple to Nvidia?

There is a shipping product from Nvidia, but AMD is trying to catch up. Tying would be availability from only one source for the indeterminate future. Last time I checked, 10.6 isn't shipping. Perhaps the AMD drivers will be shipping before 10.6!

Hardly unbiased or even linguistically correct journalism.

This article has such a disconnect between the title and the body, it makes me think someone wrote a more sensational headline without reading the article. The article is also very unusually poorly written, it's by far the worst I've read in 3 years of reading AI, so much so that I registered just to point it out.

johnny mozzarella 18 Years · 1818 comments

Quote:
Originally Posted by zunx

Apple and nVidia, THIS IS WHAT IS NEEDED:

Mac OS X support for the nVidia multicore cards (Tesla Personal Supercomputer):
http://www.nvidia.com/object/tesla_c...solutions.html
...
nVidia says that it is possible, but only if Apple allows it.

Thanks for that link.
It would be nice if OpenCL apps in Snow Leopard could use these cards for parallel processing.