Become a MacRumors Supporter for $25/year with no ads, private forums, and more!

OpenCL Benchmarks and Support for Both MacBook Pro GPUs

MacRumors

macrumors bot
Original poster
Apr 12, 2001
51,594
13,227
https://www.macrumors.com/images/macrumorsthreadlogodarkd.png

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.

Article Link: OpenCL Benchmarks and Support for Both MacBook Pro GPUs
 

Creibold

macrumors regular
Feb 27, 2006
186
7
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
 
Comment

PurrBall

macrumors 65816
Oct 25, 2007
1,015
54
Indianapolis
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
 
Comment

2002cbr600f4i

macrumors 6502
Jun 21, 2008
489
0
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.
 
Comment

THX1139

macrumors 68000
Mar 4, 2006
1,928
0
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.
 
Comment

freiheit

macrumors 6502a
Jul 20, 2004
642
90
California
Talk to Apple, not AMD

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.
 
Comment

Shawn Parr

macrumors regular
Oct 31, 2008
191
97
My 2008 unibody MBP with 2 GPUs only uses one at a time it appears:

Code:
...........................................................
.................. 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.
 
Comment

2002cbr600f4i

macrumors 6502
Jun 21, 2008
489
0
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.
 
Comment

AidenShaw

macrumors P6
Feb 8, 2003
18,666
4,667
The Peninsula
meh - where are the apps...

Unfortunately, there have been few apps that have been released that properly demonstrate the potential of OpenCL.

OpenCL will only become interesting when you can actually use it in shipping applications - synthetic benchmarks that show "the potential" of OpenCL are just a tease.

They'll come, but it will take time for vendors to recode their apps to use OpenCL.

It also doesn't help that Apple didn't support OpenCL on more GPUs - with the relatively few OpenCL capable systems, there's less incentive for vendors to port.


...the 2600 series does not support double precision floating point operations...

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.

Also note that some earlier GPUs didn't do full IEEE floating point support (support for NaNs, ±Infinity) , and didn't do accurate floating point. (A small rounding error would not be noticeable on a pixel in a display, but would kill a compute job.)
 
Comment

2002cbr600f4i

macrumors 6502
Jun 21, 2008
489
0
My 2008 unibody MBP with 2 GPUs only uses one at a time it appears:

Code:
...........................................................
.................. 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.

Did you not even bother to read the article? It stated clearly that only 1 GPU is active at a time. With the unibody MBP's only 1 GPU can be accessed at a time, and you have to log out to switch between them. I don't get why people think that wouldn't be the case with OpenCL. The OS only sees 1 of the GPUs at a time.
 
Comment

jlasoon

macrumors 6502a
Jun 1, 2006
505
627
Orlando, FL
2009 MacPro 2.26

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

OpenCL Device # 1 = Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
Device 1 is an: CPU with max. 2260 MHz and 16 units/cores
Now computing - please be patient....
time used: 1.161 seconds
 
Comment

TheIguana

macrumors 6502a
Sep 26, 2004
661
420
Canada
My 2008 unibody MBP with 2 GPUs only uses one at a time it appears:

Code:
...........................................................
.................. 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: 3
OpenCL Device # 0 = GeForce 9600M GT
Device 0 is an: GPU with max. 1250 MHz and 32 units/cores 
Now computing - please be patient....
time used:  2.791 seconds

OpenCL Device # 1 = GeForce 9400M
Device 1 is an: GPU with max. 1100 MHz and 16 units/cores 
Now computing - please be patient....
time used:  3.009 seconds

OpenCL Device # 2 = Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz
Device 2 is an: CPU with max. 2400 MHz and 2 units/cores 
Now computing - please be patient....
time used: 15.261 seconds

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

I just ran that with my 2008 unibody MBP. Granted I was running with 9600m and not the 9400m, but in that mode it did run the benchmark on both GPUs.

Update: I just switched over the 9400m on my 2008 MBP and tried it again. As you can see it only ran the test on the 9400m and not the 9600m. So it looks like OpenCL only works with both GPUs on the 2008 models when you are running the 9600m GPU.
Code:
...........................................................
.................. 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.555 seconds

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

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

Aaargh!

macrumors member
Mar 21, 2007
92
39
Pointless

These results are totally useless without knowing what exactly it is that is benchmarked.
 
Comment

damieng

macrumors newbie
Oct 24, 2003
9
0
This is interesting - my 2007 MacBook Pro 17" 2.6GHz (MacBookPro3,1) produces the following results:

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8600M GT
Device 0 is an: GPU with max. 1040 MHz and 32 units/cores
Now computing - please be patient....
time used: 2.368 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: 14.080 seconds

Which seems to be better performance than some of the newer similar-spec models. Perhaps caused by the 32 unit/cores on the 8600 vs the 9400?

[)amien
 
Comment
Wow, this is incredible.
This means small, inexpensive Laptops with SL installed can suddenly beat big,fat MacPros without SL.

The most intensive task that I do is video conversion and dvd ripping. It appears that a Mac Mini w/9400 will soon outperform my iMac w/2600HD on these tasks. I am seriously considering putting my iMac on eBay and building a Hackintosh (that I can upgrade) plus a quality monitor, and as a side benefit put some cash back into my pocket.

I used to support the all-in-ones and poo-poo the naysayers when they complained about not being able to upgrade video cards. Now that this has bit me on my butt I see their point. I will never purchase a desktop all-in-one again.
 
Comment

THX1139

macrumors 68000
Mar 4, 2006
1,928
0
Wow, this is incredible.
This means small, inexpensive Laptops with SL installed can suddenly beat big,fat MacPros without SL.

Well, not small, inexpensive laptops... (do those even exist?), but my Macbook Pro 2.53 with Snow Leopard renders Final Cut Pro footage faster than my 2006 Mac Pro 2.66 that is running on 10.5.8. Of course, if I add Snow Leopard to my Mac Pro, it should even out or be faster. But yeah, this is a good time to have a laptop- it's going to be even better when the apps are coded to optimize Snow Leopard. I never thought I'd see the day a laptop would run faster than my desktop, but it looks like it's here. I might be able to dump the ol' ball and chain pretty soon. :cool:
 
Comment

mmendoza27

macrumors 6502
Oct 18, 2007
347
44
2009 MacPro 2.26

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

OpenCL Device # 1 = Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
Device 1 is an: CPU with max. 2260 MHz and 16 units/cores
Now computing - please be patient....
time used: 1.140 seconds

Now that doesn't make too much sense.... the 9600M GT has a better time than the GT120? Is that true? Well I guess it's a rebranded 9xxx series right? So maybe... anyways, does anyone have a ATI 4870 to test?

AND LOOOK at the score of the 8-core with hyper-threading! Looks like it bests everything so far!
 
Comment

Prynce

macrumors member
Aug 4, 2008
91
0
Agreed, thank you. My iMac isn't that old to not be support by Open CL.

src: http://www.macupdate.com/info.php/id/32266/opencl-benchmark

OpenCL GPUs : Macs 2008+ with NVIDIA GPUs (Macbook /MBP/iMac GT120/MacPro)... Macs 2008+ with ATI GPUs - support in test phase

While this doesn't indicate that Apple will support OpenCL on ATI 2600 Pro, you will note that it is possible as per the last part of the note above of support for Macs 2008+ being in a test phase.
 
Comment

Sappharad

macrumors member
Mar 21, 2009
99
85
These results are totally useless without knowing what exactly it is that is benchmarked.
He includes the source code to his GPU calculation in the readme file.
It appears to just be testing floating point addition.

These results make me want to buy an Nvidia card for my 2008 Mac Pro.
 
Comment

anubis

macrumors 6502a
Feb 7, 2003
937
50
This app confirms OpenCL support with the 2008 24" iMacs with "GeForce 8800GS". There has been a raging debate over the naming convention of this particular iMac graphic card, fueled by the fact that Apple lists a graphics card similar to what this iMac has in its SL requirements, but Apple has never shipped that graphic card in any Mac. Complicating the debate is the fact that apparently there are 3 or 4 different names for essentially the same graphic card.

Code:
...........................................................
.................. 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 8800 GS
Device 0 is an: GPU with max. 1250 MHz and 64 units/cores 
Now computing - please be patient....
time used:  2.302 seconds

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

Now checking if results are valid - please be patient....
:) Validate test passed - GPU results=CPU results :) 
logout
 
Comment
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.