Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Varmann

macrumors regular
Original poster
Jan 3, 2010
149
66
I was surprised when Apple introduced OpenCl four years ago without having rewritten some of their own programs to benefit from it. Seemed like bad internal coordination to me.

Today OpenCL has reached a much better penetration among applications, but I have a feeling that it still lacks some major applications, as well as several minor ones that could benefit from it. With a new twin gpu standard, it seems important that they are both used as much as possible.

Are their any compilation around of which application supports OpenCL?
 

VirtualRain

macrumors 603
Aug 1, 2008
6,304
118
Vancouver, BC
I was surprised when Apple introduced OpenCl four years ago without having rewritten some of their own programs to benefit from it. Seemed like bad internal coordination to me.

Today OpenCL has reached a much better penetration among applications, but I have a feeling that it still lacks some major applications, as well as several minor ones that could benefit from it. With a new twin gpu standard, it seems important that they are both used as much as possible.

Are their any compilation around of which application supports OpenCL?

I think the biggest omission right now is Aperture. I'm hoping it supports OpenCL with the next (now long overdue) release.
 

Varmann

macrumors regular
Original poster
Jan 3, 2010
149
66
Which applications are you referring to?

From 0 anything is a great improvement :)
But as far as I have seen from discussions here (and of course heard from the Pixar demo) some professional application make use of it. Also some other applications start to adopt it, like Handbrake having partial support in a windows-only Beta. But it is far a general adoption. As far "general" goes, it is probably far from all applications that can have any significant gain from using it, even if they were totally rewritten.

But it would be rather useful to see a compilation of application making efficient use of (multiple) GPUs and multiple(core) CPUs. Also taking account for OpenCL vs CUDA, and maximum efficiently used CPU core count.

I am not dependent on one single program supporting OpenCL. However, if I am deciding to buy a new MacPro (Mark 2 in that case, I never trust first version a new technical solution) I want to know that a decent amount of the heavier applications I use actually make use of that second GPU.
 

crjackson2134

macrumors 601
Mar 6, 2013
4,823
1,948
Charlotte, NC
From 0 anything is a great improvement :)
But as far as I have seen from discussions here (and of course heard from the Pixar demo) some professional application make use of it. Also some other applications start to adopt it, like Handbrake having partial support in a windows-only Beta.

An improvement based on one pro app demo, and a partial implementation under windows doesn't really qualify as "much better penetration among applications" in my book. That's just me.

I was hoping you could name some applications with openCL support that might be of use me. Sounds like that isn't the case. Thanks anyway.
 

Varmann

macrumors regular
Original poster
Jan 3, 2010
149
66
Sorry, if you misunderstood me!
I did not mean to say that OpenCL was well adopted, but wanted to know more about it! It was a question in the thread, not a statement! I should have been more clear about that, sorry!

I, just like you, ponder about the actual usefulness of an0 OpenCL for the "average MacPro user". I am not into heavy pro rendering or stuff like that, but use a few program that seems to choke a bit on what I through at them like Lightroom, Photoshop. Some other programs I use, like Handbrake, could also benefit from a bit more punch (I used more 1 1/2 year of >95% 8 core CPU load to rip my DVD collection). So I certainly see potential for OpenCL adoption.
 

deconstruct60

macrumors G5
Mar 10, 2009
12,298
3,893
Sorry, if you misunderstood me!
I did not mean to say that OpenCL was well adopted, but wanted to know more about it! It was a question in the thread, not a statement! I should have been more clear about that, sorry!

It isn't just the applications per se that you should be tracking over time. Usage by Apple's core foundation libraries may mean that a pretty wide spread set of Applications can use them without much change by their developers at all.

OpenGL is likely a better example where some of the extensions to push computations down to the GPU can be done by the basic core libraries to fulfill basic core duties. For the 2013 Mac line up, every single Mac is OpenCL capable once 10.9 (Mavericks ) arrives.

Deep and extensive usage will require application changes but widespread is going to be a bit like the growth gap when USB 3.0 got weaved into the core I/O support chipsets. At that point everyone has it so the usage goes way up.
 

goMac

Contributor
Apr 15, 2004
7,662
1,694
I think the biggest omission right now is Aperture. I'm hoping it supports OpenCL with the next (now long overdue) release.

Aperture supports GLSL which makes supporting OpenCL a little less urgent in since it already uses the GPU.

I think underneath it also uses some CoreImage, which means it could be using OpenCL under the hood.
 

cube

Suspended
May 10, 2004
17,011
4,972
From 0 anything is a great improvement :)
But as far as I have seen from discussions here (and of course heard from the Pixar demo) some professional application make use of it. Also some other applications start to adopt it, like Handbrake having partial support in a windows-only Beta. But it is far a general adoption. As far "general" goes, it is probably far from all applications that can have any significant gain from using it, even if they were totally rewritten.

But it would be rather useful to see a compilation of application making efficient use of (multiple) GPUs and multiple(core) CPUs. Also taking account for OpenCL vs CUDA, and maximum efficiently used CPU core count.

I am not dependent on one single program supporting OpenCL. However, if I am deciding to buy a new MacPro (Mark 2 in that case, I never trust first version a new technical solution) I want to know that a decent amount of the heavier applications I use actually make use of that second GPU.

You're asking 2 different things. That an application supports OpenCL does not necessarily imply that it can take advantage of more than one GPU.
 

goMac

Contributor
Apr 15, 2004
7,662
1,694
You're asking 2 different things. That an application supports OpenCL does not necessarily imply that it can take advantage of more than one GPU.

This is true. But there isn't a good reason it shouldn't, based on how OpenCL works.

If we're talking about the new Mac Pro's configuration specifically, the intended use is one card for OpenGL and the other for OpenCL.
 

cube

Suspended
May 10, 2004
17,011
4,972
This is true. But there isn't a good reason it shouldn't, based on how OpenCL works.

If we're talking about the new Mac Pro's configuration specifically, the intended use is one card for OpenGL and the other for OpenCL.

Of course there's a good reason, you have to program explicitly in OpenCL for using more than one GPU.

And that's not the "intended use". Some applications will use 2 GPUs for graphics, others for computation.
 

VirtualRain

macrumors 603
Aug 1, 2008
6,304
118
Vancouver, BC
Aperture supports GLSL which makes supporting OpenCL a little less urgent in since it already uses the GPU.

I think underneath it also uses some CoreImage, which means it could be using OpenCL under the hood.

Have you come across anything that measures the performance benefits of different GPUs in Aperture?
 

Tesselator

macrumors 601
Jan 9, 2008
4,601
6
Japan
You're welcome guys. It was pretty easy tho. I just typed: "List of applications which use OpenCL". I find that the "List of" in front of search terms has a special meaning somehow - when searching for lists. Wikipedia probably started that. <shrug> The search result description said that list was last updated in April of 2013 so it's pretty current I guess.
 

flat five

macrumors 603
Feb 6, 2007
5,580
2,657
newyorkcity
fwiw- a quick example from a rendering app which has an on/off switch for gpu acceleration (indigo)

this is with a 5770.


gpu off:

2m 0s | Samples per pixel:153, 390k samples/s
ocloff.jpg



gpu on:

2m 0s | Samples per pixel:230, 583k samples/s
oclon.jpg



going off the samples per second, no openCL is 400 then gpu on is 600.. (cuda is possibly(probably?) faster.. i'll try it on a laptop tomorrow with nvidia to see)..

it's not so much that there's a drastic difference between the two speeds.. i mean you're still looking at a 20minute render vs maybe 13minutes... when it would be nice to have to maybe 1 minute..

the point is more to do with how that increase came about.. i didn't buy anything or soup up the computer etc.. the devs did their thing, i installed the update, and immediately saw a performance increase.. but i haven't really dove into it with better hardware because i'm one of the people that started computer shopping around two years ago and decided to just wait on the new mac unless my 1,1 breaks.. then decided to wait even longer etc :rolleyes:..

but this app on two moderate gpus? it's going to be a lot faster.. faster than if i ran it on 32cores instead of 12
 

flat five

macrumors 603
Feb 6, 2007
5,580
2,657
newyorkcity
those pictures though sort of bring this around to another cpu related point.. i drew the front panel in rhino but it's just way to much geometry to get to indigo through sketchup (which is how those were done)..


macpros.jpg


that's the actual models and those are real holes (all 8500 of them).. it took around 2hrs to boolean cylinders from the panel.. i generally don't draw stuff like this and don't always bump in to wait times like that but regardless, that entire calculation has to happen on a single cpu core.. most, by far, of my computer work is done on a single core.. i don't want 12 cores, i want the fastest clock out there and it's on the smaller cpus.. i'm using 2.66 quad right now.. if i go to 12core @ 2.7ghz.. i mean so what? that's zero performance improvements for me where i'd love to see some improvements..

the core count race is killing clock speeds.. a few people around here keep saying "oh. oh.. they're moving backwards.. they only have one socket".. and yeah, i get it - sort of... but i hope people can equally understand many apps still rely on a single core in which a high performance chip is desired.
 

Tesselator

macrumors 601
Jan 9, 2008
4,601
6
Japan
And of course if you use transparency maps like I did then a MP1,1 will render it in under 15sec. per frame including radiosity. ;) It'll look better too because all the holes will be in the right place and in the proper pitch. :D

http://tesselator.gpmod.com/Images/_Movies/DIY_Drawing.mov


those pictures though sort of bring this around to another cpu related point.. i drew the front panel in rhino but it's just way to much geometry to get to indigo through sketchup (which is how those were done)..


https://dl.dropboxusercontent.com/u/16524160/macpros.jpg
 
Last edited:

spaz8

macrumors 6502
Mar 3, 2007
492
91
Well here's hoping the 1x 2.7 ghz E5 v2 thread is much faster than 1x 2.66 ghz 5150 thread. I'd hope all the architectural improvements, faster bus/ram, SIMD, bigger cache .. will make it feel more like 4 ghz.
 

deconstruct60

macrumors G5
Mar 10, 2009
12,298
3,893
Well here's hoping the 1x 2.7 ghz E5 v2 thread is much faster than 1x 2.66 ghz 5150 thread. I'd hope all the architectural improvements, faster bus/ram, SIMD, bigger cache .. will make it feel more like 4 ghz.

If all interested in is one CPU package then one 3.7 GHz E5 v2 will certainly thread faster than one 2.66 GHz 5150.

It will Turbo all the way up to 3.9 on many single thread jobs which is quite close to 4GHz.

Haven't even engaged the code efficiency throughput improvements yet even.

12 cores at 2.7 only is going to make a "feels like 4GHz from 7 years ago" difference if can split up the work and parallelism it. If trying to run Mac Paint faster in an emulator you don't need a 12 core CPU.
 

Photovore

macrumors regular
Dec 28, 2011
116
0
Of course there's a good reason, you have to program explicitly in OpenCL for using more than one GPU.
Once you have OpenCL working on one GPU*, it is very easy to send the job to two GPUs, or to two GPUs plus the CPU. Mostly cut-and-paste.

* mind you, getting it working in the first place was Not Easy!...
 

cube

Suspended
May 10, 2004
17,011
4,972
Once you have OpenCL working on one GPU*, it is very easy to send the job to two GPUs, or to two GPUs plus the CPU. Mostly cut-and-paste.

* mind you, getting it working in the first place was Not Easy!...

Not everything can be cut up as easily, and 2 GPUs could be slower than 1 GPU, or even the CPU.
 

flat five

macrumors 603
Feb 6, 2007
5,580
2,657
newyorkcity
And of course if you use transparency maps like I did then a MP1,1 will render it in under 15sec. per frame including radiosity. ;) It'll look better too because all the holes will be in the right place and in the proper pitch. :D

http://tesselator.gpmod.com/Images/_Movies/DIY_Drawing.mov

yeah, of course that's the best way to do it.. doing it with geometry was more of an experiment during playtime..
regardless, i like the hanging mac idea. i wonder if anyone has done it?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.