With the release of Mac OS X Snow Leopard, we're getting our first look at the possibilities behind Snow Leopard's OpenCL technology. OpenCL is a framework that allows applications to more easily harness the power of multiple GPUs and CPUs found in your computer. This would allow powerful graphics cards (GPUs) to do more general processing and could improve application performance substantially.
Unfortunately, there have been few apps that have been released that properly demonstrate the potential of OpenCL. Forum user J the Ninja, however, points to a recently released OpenCL Benchmark application that tests the speed of the various OpenCL capable devices in your Mac. This includes both CPUs and GPUs. The current list of OpenCL supported GPUs include:
- NVIDIA GeForce 9400M, GeForce 9600M GT, GeForce 8600M GT, GeForce GT 120, GeForce GT 130, GeForce GTX 285, GeForce 8800 GT, GeForce 8800 GS, Quadro FX 4800, Quadro FX5600
- ATI Radeon 4850, Radeon 4870
The benchmark runs on each device showing the relative performance. Most interesting is that for owners of high end MacBook Pros which contain both 9400M and 9600M GT graphics cards, both GPUs can be used at any time by OpenCL. In contrast, both of these GPUs can not be used for general graphics processing and requires a Mac OS X logout to switch from one to another.
In this particular example, the benchmark performance of the user's MacBook Pro CPU and two discrete GPUs were as follows (smaller numbers faster):
GeForce 9600M GT: 2.805 seconds
GeForce 9400M: 3.081 seconds
Intel Core 2 Duo @ 2.40GHz: 15.459 seconds
Combining all three processors at once could theoretically deliver substantial performance improvements to the right application.
Finally, another floating point benchmark application called AO Bench has also been ported to OpenCL and can also show the difference between CPU and GPU performance in some configurations.