Will OpenCL endow 'Snow Leopard' Macs with supercomputer-like speed?

The technology allows developers to tap into the latent power of graphics chips

A recently approved technology standard should help software developers to tap the latent processing power of graphics chips and transform regular computers into veritable supercomputers -- at least for certain applications. Poised to take advantage of the technology first is Apple Inc.

Based on the popular C programming language, Version 1.0 of OpenCL was ratified and published by standards body The Khronos Group last week. The OpenCL programming language, developed by Apple, lets applications offload much of the processing from the CPUs to a computer's graphics chip, or GPU.

Modern GPUs from Nvidia, Advanced Micro Devices subsidiary ATI Technologies and Intel are as powerful as regular CPUs -- in some cases more so. For instance, ATI's latest Radeon HD 4870 GPU has almost 1 billion transistors, more than twice as many transistors as parent AMD's most powerful quad-core Phenom CPU.

Even when they are helping to display hyper-realistic first-person shooter video games or encoding video, GPUs tend to be woefully underutilized. OpenCL can solve that by allowing GPUs to accelerate many applications, especially those whose work can be broken down into many smaller parallel calculations, such as low-level number crunching, high-resolution graphics rendering and video encoding.

For those operations, GPUs "are blindingly fast," said Dan Olds, an analyst at the Gabriel Consulting Group. Encoding and rendering high-def video can be done between 40 to 100 times faster when apps are recompiled with OpenCL, said Olds. Health care applications such as those processing MRIs and CAT scans would see similar acceleration, he said.

"When you compare the performance to a standard Mac, this will sound like a supercomputer to some people," he said.

Ian Lao, an analyst at In-Stat, agreed. "This is not total hyperbole," he said. "The moment I enable OpenCL, I can take a desktop computer into the low-to-mid-end server/supercomputer category."

Apple, the immediate beneficiary

Apple looks to be the chief immediate beneficiary of OpenCL, which will be supported in its forthcoming move to Mac OS X 10.6, code-named Snow Leopard.

"That hides some of the complexity of OpenCL, such as the need for OS X to detect and download separate graphics drivers," said Lao, though he noted that Macs will still need specific Nvidia or ATI graphics chips to take advantage of the technology.

Snow Leopard could come as early as the first quarter of 2009, although Apple has only said that it would be released by midyear. More details could emerge at next month's Macworld Expo.

Olds doesn't think OpenCL will jump-start the Mac as a gaming platform, despite the potential rendering advantages. Rather, he thinks it will be used to accelerate the video and graphics applications used by creative professionals who have long bought Macs.

Lao, meanwhile, expects OpenCL to have two main effects on Mac hardware. First, it will encourage software developers to port their wares to the technology to take advantage of Snow Leopard's release. Second, OpenCL may provide a much-needed boost to Apple's high-end Mac Pro workstations. Though popular with digital artists and animators, Mac workstations like the Mac Pro long ago ceded the high-end animation and rendering market to Linux and Windows. And because of their cost, Mac workstations have never been able to break into the CAD and engineering markets, either, says Lao.

With the no-cost horsepower boost provided by OpenCL, Mac Pros could suddenly "get Apple back in the game and re-open markets up to them," Lao said.

What about Windows PCs?

Microsoft has not announced any plans to formally support OpenCL in Vista or its forthcoming Windows 7. That doesn't mean Windows PCs won't be able to enjoy the fruits of OpenCL. They still can, said Lao, provided they are equipped with the right Nvidia or ATI graphics chip -- either on the motherboard or via an add-on graphics card -- and if OpenCL applications are tweaked to work with the Nvidia or ATI drivers.

For instance, Microsoft has already confirmed that it will rewrite Vista, PowerPoint 2007, the Silverlight multimedia player and its Expression video encoder to work with ATI's drivers.

Moreover, Microsoft is working on DirectX 11, the upcoming version of its longtime series of graphics APIs. Lao said DirectX 11, particularly its Direct3D 11 API, gives programmers roughly the same sort of ability to control whether the application is processed by the CPU or GPU.

The difference, according to Lao, is that OpenCL is likely to encourage the acceleration of a much broader range of apps to be accelerated compared to DirectX 11, which will continue to be used mostly to boost video game performance.

Copyright © 2008 IDG Communications, Inc.

7 inconvenient truths about the hybrid work trend
Shop Tech Products at Amazon