Go Back   MacRumors Forums > Special Interests > Visual Media > Digital Video

Reply
 
Thread Tools Search this Thread Display Modes
Old Jan 27, 2013, 12:37 PM   #1
theuserjohnny
macrumors 6502
 
Join Date: Jul 2012
CUDA vs. OpenCL CS6

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.
__________________
2013 13' Macbook Air, 1.3GHz, 4GBRAM, 256GBSSD
2012 15" rMBP, 2.7GHz, 16GBRAM, 768GBSSD
2006 13" Macbook (white), 2.16GHz, 3GBRAM, 120GBHD
Google Nexus 4 16GB

Last edited by theuserjohnny; Jan 27, 2013 at 01:07 PM.
theuserjohnny is offline   0 Reply With Quote
Old Jan 27, 2013, 01:28 PM   #2
theuserjohnny
Thread Starter
macrumors 6502
 
Join Date: Jul 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?
__________________
2013 13' Macbook Air, 1.3GHz, 4GBRAM, 256GBSSD
2012 15" rMBP, 2.7GHz, 16GBRAM, 768GBSSD
2006 13" Macbook (white), 2.16GHz, 3GBRAM, 120GBHD
Google Nexus 4 16GB
theuserjohnny is offline   0 Reply With Quote
Old Jan 27, 2013, 02:34 PM   #3
matteusclement
macrumors 65816
 
matteusclement's Avatar
 
Join Date: Jan 2008
Location: victoria
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.
__________________
try this:
take an empty pop can, place it on the floor, smash it flat, now try to pull it back to how it was.
see how it looks like crap? that's called compression
matteusclement is offline   0 Reply With Quote
Old Jan 28, 2013, 02:23 AM   #4
floh
macrumors 6502
 
Join Date: Nov 2011
Location: 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.
floh is offline   0 Reply With Quote
Old Feb 1, 2013, 12:58 AM   #5
theuserjohnny
Thread Starter
macrumors 6502
 
Join Date: Jul 2012
Quote:
Originally Posted by floh View Post
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.
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.

----------

Quote:
Originally Posted by jasonvp View Post
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.

jas
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.
__________________
2013 13' Macbook Air, 1.3GHz, 4GBRAM, 256GBSSD
2012 15" rMBP, 2.7GHz, 16GBRAM, 768GBSSD
2006 13" Macbook (white), 2.16GHz, 3GBRAM, 120GBHD
Google Nexus 4 16GB
theuserjohnny is offline   0 Reply With Quote
Old Feb 1, 2013, 01:33 AM   #6
CaptainChunk
macrumors 68020
 
CaptainChunk's Avatar
 
Join Date: Apr 2008
Location: Los Angeles, CA
Quote:
Originally Posted by theuserjohnny View Post
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.
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.
__________________
MP 8x2.8GHz, 16GB RAM, flashed 8800GT; Early '08
15" MBP 2.6GHz, 4GB RAM; Early '08 (RIP)
13" MBP 2.3GHz, 8GB RAM; Early '11
CaptainChunk is offline   0 Reply With Quote
Old Jan 28, 2013, 08:33 AM   #7
jasonvp
Banned
 
Join Date: Jun 2007
Location: Northern VA
Send a message via AIM to jasonvp
Quote:
Originally Posted by theuserjohnny View Post
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?
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.

jas
jasonvp is offline   0 Reply With Quote

Reply
MacRumors Forums > Special Interests > Visual Media > Digital Video

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Similar Threads
thread Thread Starter Forum Replies Last Post
After Effects CS6 CUDA Benchmark Test skippyfx Mac Pro 87 Sep 11, 2014 07:38 AM
After Effects CUDA vs OpenCL Sinx2oic Mac Pro 2 Nov 7, 2013 01:39 PM
What is the difference between OpenCL vs CUDA besides company? Starfyre MacBook Pro 13 Oct 25, 2013 08:37 AM
GTX 680 4GB CUDA and OpenCL cristtiah Mac Pro 59 Jul 13, 2013 12:26 PM
GTX 670 4 GB - How to enable CUDA and openCL xav8tor Mac Pro 23 Jan 1, 2013 11:27 PM

Forum Jump

All times are GMT -5. The time now is 07:21 PM.

Mac Rumors | Mac | iPhone | iPhone Game Reviews | iPhone Apps