Got a tip for us? Share it...

OpenCL Benchmarks and Support for Both MacBook Pro GPUs

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.

Top Rated Comments

(View all)

32 months ago
My Results, for comparison:

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8600M GT
Device 0 is an: GPU with max. 940 MHz and 32 units/cores
Now computing - please be patient....
time used: 2.929 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU T7800 @ 2.60GHz
Device 1 is an: CPU with max. 2600 MHz and 2 units/cores
Now computing - please be patient....
time used: 15.840 seconds
Rating: 0 Positives / 0 Negatives
32 months ago
Booo! More ATI GPUs please. Yes, I'm talking to you, AMD.
Rating: 0 Positives / 0 Negatives
32 months ago
Desktop hardware seems to get about 1 second difference vs. MBPs:

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce GT 120
Device 0 is an: GPU with max. 1250 MHz and 32 units/cores
Now computing - please be patient....
time used: 2.034 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU E8335 @ 2.93GHz
Device 1 is an: CPU with max. 2930 MHz and 2 units/cores
Now computing - please be patient....
time used: 14.820 seconds
Rating: 0 Positives / 0 Negatives
32 months ago

Booo! More ATI GPUs please. Yes, I'm talking to you, AMD.


I agree - hopefully support for my iMac 24" ATI Radeon HD2600 is coming ?
Rating: 0 Positives / 0 Negatives
32 months ago
Ok,this was just run on my 2009 Mac Pro, 2.93 Ghz Quad w/HT ON + 4870 GPU:

Number of OpenCL devices found: 2
OpenCL Device # 0 = Radeon HD 4870
Device 0 is an: GPU with max. 750 MHz and 4 units/cores
Now computing - please be patient....
time used: 4.244 seconds

OpenCL Device # 1 = Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
Device 1 is an: CPU with max. 2925 MHz and 8 units/cores
Now computing - please be patient....
time used: 1.834 seconds

And from my old Macbook 2,1:

OpenCL Device # 0 = Intel(R) Core(TM)2 CPU T7400 @ 2.16 GHz
Device 0 is an: CPU with max. 2160 MHz and 2 units/cores
Now computing - please be patient....
time used: 17.149 seconds


Interesting that the CPU beats the 4870 on the Pro!

I also tried the AOBench one.... Unfortunately when I try to run it against the GPU, it gives the following error:



CL_DEVICE_NAME: Radeon HD 4870
CL_DEVICE_VENDOR: AMD
Error: Failed to build program executable
cvmsErrorCompilerFailure: LLVM compiler has failed to compile a function.
logout


On the plus side, they include the source for the AOBench stuff, and the XCode project, so you can fiddle with it and see how OpenCL code is written.
Rating: 0 Positives / 0 Negatives
32 months ago
Does this mean that if I flash a Radeon 4870 to run in my 2006 MacPro, it will have OpenCL? If anyone who has done this, please run a test to see if it works.
Rating: 0 Positives / 0 Negatives
32 months ago

Booo! More ATI GPUs please. Yes, I'm talking to you, AMD.


You need to be talking to Apple, not AMD. The Radeon HD 2000 series had the hardware necessary for this kind of stuff. As did the 3000 series. Apple have decided not to support them for one reason or another.
Rating: 0 Positives / 0 Negatives
32 months ago
My 2008 unibody MBP with 2 GPUs only uses one at a time it appears:

...........................................................
.................. OpenCL Bench V 0.25 by mitch ...........
...... C2D 3GHz = 12 sec vs Nvidia 9600GT = 0,93 sec ......
... time results are not comparable to older version! .....
...........................................................

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 9400M
Device 0 is an: GPU with max. 1100 MHz and 16 units/cores
Now computing - please be patient....
time used: 3.497 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz
Device 1 is an: CPU with max. 2530 MHz and 2 units/cores
Now computing - please be patient....
time used: 14.734 seconds

Now checking if results are valid - please be patient....
:) Validate test passed - GPU results=CPU results :)


I wonder if this is like the 6GB RAM limit on these machines? The 9400M is the one I happen to be switched to using for graphics. When I first heard about OpenCL I always kind of assumed it would be more likely to use the one you weren't using for graphics at the time. Silly assumption in hindsight.
Rating: 0 Positives / 0 Negatives
32 months ago

You need to be talking to Apple, not AMD. The Radeon HD 2000 series had the hardware necessary for this kind of stuff. As did the 3000 series. Apple have decided not to support them for one reason or another.


If you look on the compatibility page on ATI's site, you'll see in the footnotes that the 2600 series does not support double precision floating point operations...

Now if you're Apple, and you're encouraging people to use this technology, are you going to potentially support something that isn't going to give the exactly same results for calculations that you'd get from the CPU? - NO.

For example:
(dp FP vs sp FP)
4.546677E10 != 4.566E10

If you're doing scientific calculations, and you're expecting double precision and the app is giving you back single precision because you ran it on the GPU instead of the CPU, you're going to be pissed.
Rating: 0 Positives / 0 Negatives
32 months ago
Wow, this is incredible.
This means small, inexpensive Laptops with SL installed can suddenly beat big,fat MacPros without SL.
Rating: 0 Positives / 0 Negatives

[ Read All Comments ]