Use of OpenCL, any major application not supporting it?

Discussion in 'Mac Pro' started by Varmann, Aug 4, 2013.

  1. Varmann macrumors member

    Joined:
    Jan 3, 2010
    #1
    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?
     
  2. VirtualRain macrumors 603

    VirtualRain

    Joined:
    Aug 1, 2008
    Location:
    Vancouver, BC
    #2
    I think the biggest omission right now is Aperture. I'm hoping it supports OpenCL with the next (now long overdue) release.
     
  3. crjackson2134 macrumors 68020

    crjackson2134

    Joined:
    Mar 6, 2013
    Location:
    Charlotte, NC
    #3
    Which applications are you referring to?
     
  4. Varmann thread starter macrumors member

    Joined:
    Jan 3, 2010
    #4
    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.
     
  5. crjackson2134 macrumors 68020

    crjackson2134

    Joined:
    Mar 6, 2013
    Location:
    Charlotte, NC
    #5
    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.
     
  6. Varmann thread starter macrumors member

    Joined:
    Jan 3, 2010
    #6
    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.
     
  7. deconstruct60 macrumors 604

    Joined:
    Mar 10, 2009
    #7
    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.
     
  8. goMac macrumors 603

    Joined:
    Apr 15, 2004
    #8
    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.
     
  9. cube macrumors G5

    Joined:
    May 10, 2004
    #9
    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.
     
  10. goMac macrumors 603

    Joined:
    Apr 15, 2004
    #10
    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.
     
  11. cube macrumors G5

    Joined:
    May 10, 2004
    #11
    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.
     
  12. VirtualRain macrumors 603

    VirtualRain

    Joined:
    Aug 1, 2008
    Location:
    Vancouver, BC
    #12
    Have you come across anything that measures the performance benefits of different GPUs in Aperture?
     
  13. Varmann thread starter macrumors member

    Joined:
    Jan 3, 2010
    #14
  14. crjackson2134 macrumors 68020

    crjackson2134

    Joined:
    Mar 6, 2013
    Location:
    Charlotte, NC
    #15
    Me too... Thanks Tess...
     
  15. Tesselator macrumors 601

    Tesselator

    Joined:
    Jan 9, 2008
    Location:
    Japan
    #16
    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.
     
  16. 666sheep macrumors 68040

    666sheep

    Joined:
    Dec 7, 2009
    Location:
    Poland
    #17
    Great find.

    I may add to this list:
    – Adobe After Effects CS6 - Mercury Playback Engine
    – Adobe Premiere CS6 - MPE as well
    – Phase One Capture One - uses OpenCL for display and processing acceleration
     
  17. flat five macrumors 601

    flat five

    Joined:
    Feb 6, 2007
    Location:
    newyorkcity
    #18
    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
    [​IMG]


    gpu on:

    2m 0s | Samples per pixel:230, 583k samples/s
    [​IMG]


    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
     
  18. flat five macrumors 601

    flat five

    Joined:
    Feb 6, 2007
    Location:
    newyorkcity
    #19
    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)..


    [​IMG]

    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.
     
  19. Tesselator, Aug 6, 2013
    Last edited: Aug 6, 2013

    Tesselator macrumors 601

    Tesselator

    Joined:
    Jan 9, 2008
    Location:
    Japan
    #20
    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


     
  20. spaz8 macrumors 6502

    Joined:
    Mar 3, 2007
    #21
    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.
     
  21. deconstruct60 macrumors 604

    Joined:
    Mar 10, 2009
    #22
    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.
     
  22. Photovore macrumors regular

    Joined:
    Dec 28, 2011
    #23
    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!...
     
  23. cube macrumors G5

    Joined:
    May 10, 2004
    #24
    Not everything can be cut up as easily, and 2 GPUs could be slower than 1 GPU, or even the CPU.
     
  24. flat five macrumors 601

    flat five

    Joined:
    Feb 6, 2007
    Location:
    newyorkcity
    #25
    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?
     

Share This Page