CUDA vs. OpenCL CS6

Discussion in 'Digital Video' started by theuserjohnny, Jan 27, 2013.

  1. theuserjohnny, Jan 27, 2013
    Last edited: Jan 27, 2013

    theuserjohnny macrumors 6502

    Jul 7, 2012
    Using a rMBP and was testing out CUDA vs. OpenCL on CS6.

    When I dropped the RAW DSLR footage (no color correction or anything) and just rendered the frames the CUDA flat out beat OpenCL.

    However, when I run something like "warp stabilization" the times between the 2 are fairly similar to analyze/stabilize the clip.

    Is this normal?

    EDIT: After applying "warp" onto a clip CUDA/OpenCL can play it back without render (yellow bar) but when I switch to "software" then thats where I get the red render bar with somewhat choppy playback.
  2. theuserjohnny thread starter macrumors 6502

    Jul 7, 2012
    Alright so I did some testing on a clip. It was a multicam clip with no color correction but one clip did have warp.

    Software: RENDER + EXPORT= 1:14:14seconds

    OpenCL: RENDER + EXPORT= 1:06:39seconds

    CUDA: RENDER + EXPORT= 00:54:63seconds

    So I guess my main question is what is the difference between the 3 options?

    I understand CUDA is from the GPU card (NvIDIA specific) but what about the other 2? Is OpenCL using the integrated chip from Intel? Or is it also using the GPU?
  3. matteusclement macrumors 65816


    Jan 26, 2008
    Warp is CPU intensive in both it's analysis and it's stablization.
    When you go to RENDER the warp, it can use the CUDA cores.

    CUDA is the way to go.
  4. floh macrumors 6502

    Nov 28, 2011
    Stuttgart, Germany
    In a nutshell:

    - "Software" uses the CPU of your computer to render stuff.

    - "CUDA" is a programming language that uses nVIDIA graphics chips to render stuff.

    - "OpenCL" is a versatile programming language that can use render farms with many CPUs to render stuff. It can also directly attach to the CUDA interface of your GPGPU and do calculations on AMD (and other) graphic chips.

    This means:

    1. In your case, OpenCL will use the same graphics chip as CUDA, but via an extra interface. That's why it will always be slower than CUDA. CUDA is the way to go if you have any graphics or visual calculations going on and if you have an nVIDIA chip in your computer.

    2. If you have a render farm of many CPUs or a strong AMD graphics chip, "OpenCL" is the best option.

    3. For some tasks (like only export with everything pre-rendered), "Software" might actually be faster. But almost everything that has to do with video and especially visual effects is very well optimized on GPGPUs, so this will rarely be the case.

    This is all very general and unspecific because I don't know your hardware and have never used CS6, but I know the programming side of this. I hope this helps anyways.
  5. jasonvp macrumors 6502a


    Jun 29, 2007
    Northern VA
    The first is using your laptop's CPU. The second 2 are using your laptop's GPU.

    Support for OpenCL and nVidia GPUs is weak at this point in time. The code is there (obviously) but it's not nearly as well-developed as nVidia's own CUDA APIs are. Further, CS6 is the first time that Adobe has attempted to use OpenCL APIs; they've been focused on the CUDA stuff for quite some time. So it's reasonable to expect that once the drivers are more polished AND Adobe gets more OpenCL experience under their belts, that things will speed up a bit.

  6. theuserjohnny thread starter macrumors 6502

    Jul 7, 2012
    No this helped out big time! I just thought that OpenCL was also using the CPU so I was puzzled at how it was able to match up w/ the GPU. But now I understand the general aspect of it.


    Thanks for the reply. I thought that it was the case as to why CUDA was faster but as you said now that they've got OpenCL under the belt they should be able to improve upon it via updates and future installments.
  7. CaptainChunk macrumors 68020


    Apr 16, 2008
    Phoenix, AZ
    Yeah, it'll only take time. Adobe has a lot more development under its belt using the CUDA platform. OpenCL is still relatively new...

    And this is a good thing. A lot of Mac Pro users are stuck with cards (ATI/AMD) that can't use CUDA at all.
  8. fxvisionary, Feb 17, 2013
    Last edited: Feb 17, 2013

    fxvisionary macrumors newbie

    Feb 13, 2013
    Require ample/more power for Nvidia 480 Gtx video card

    Good Day Fellow Mac Pro Editors/gamers,

    Recently purchased upgrades including Nvidia 480 (from MacVidCards on eBay).

    How would you suggest adding external power to support the video card??

    I was just rendering a video, and realized that my system already seems maxed out with its power demands.

    Right now I have 4 internal hard drives, a Mercury Accelsior, and have the budget to buy the better card for $700, though I was concerned about Power; I would have waited for our purchase though motivated for a boost in productivity!

    I went looking on your website forum, but there wasn't any noticeable answers (perhaps I may not looked hard enough).

    I am willing to buy another power supply, for external use, anyone know of options?

    Thank you!

  9. fisha macrumors regular

    Mar 10, 2006
    Cuda is the way to go at the moment with cs6. But it's not the be all and end all. I can't remember where I read it , but it was the adobe people discussing the benefits of offloading work to the gpu and that in some cases, leaving the calculations on the CPU or the on-die integrated gpu was faster instead of offloading it to a discrete gpu card ... Cause you had to move the data across the bus to the card which took time. For that reason, you'll not see every filter effect cuda enabled so to speak as its not worth it.

Share This Page