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

theuserjohnny

macrumors 6502
Original poster
Jul 7, 2012
450
7
So I have CUDA enabled on CS6 for my rMBP yet I whenever I render/export my CPU is using all 8 threads at full capacity.

I thought that point of CUDA was so that the GPU would do all the work, yet it seems that the CPU is still doing the work?

If GPU was doing the work wouldn't my CPU usage be low/nonexistant. All 8 cores are being used.
 

theuserjohnny

macrumors 6502
Original poster
Jul 7, 2012
450
7
It seems updating the CUDA driver has fixed the issue. Now CPU usage is only at 13-20% when rendering... rather than the full 100% load.

EDIT: NVM whenever I render I'm using full CPU
 
Last edited:

theuserjohnny

macrumors 6502
Original poster
Jul 7, 2012
450
7
Okay so I guess I need clarification on how CUDA works in terms of rendering footage and exporting footage. When I playback footage with the accelerated effects I see that my GPU is doing the work. However, when I render/export I notice my CPU is the one doing the work... is that how it's suppose to be? Or is my GPU also suppose to be doing the work when it comes to rendering/exporting.
 

kohlson

macrumors 68020
Apr 23, 2010
2,425
736
While poking around with Blender, I noticed that there was "CUDA support." Since I had some CUDA GPUs, I thought this might help rendering times (6+ hours). In my situation, it did not because the app I was using only supported CUDA rev levels beyond what my GPUs could support.
My point is, there is a lot more granularity to CUDA than yes/no. What rev levels do your GPUs support? What rev levels/GPUs are supported by the app (CS6). Dig a little deeper, and I suspect you may find a gap in the details.
 

theuserjohnny

macrumors 6502
Original poster
Jul 7, 2012
450
7
While poking around with Blender, I noticed that there was "CUDA support." Since I had some CUDA GPUs, I thought this might help rendering times (6+ hours). In my situation, it did not because the app I was using only supported CUDA rev levels beyond what my GPUs could support.
My point is, there is a lot more granularity to CUDA than yes/no. What rev levels do your GPUs support? What rev levels/GPUs are supported by the app (CS6). Dig a little deeper, and I suspect you may find a gap in the details.

Yeah I did some more poking around. For one whenever I just use "software only" I can't play back anything (other than the clip without any effects) in real time. When I use the clip with one of the accelerated effects I can play it back in real time without any hiccup.

When it comes to rendering that clip (to get everything green) I notice that it uses the CPU to handel that and that's where I'm confused because I thought that the GPU would handel that.

When it comes to exporting I've noticed that the CPU is only using roughly half it's power (50-60%) so I'm assuming that the GPU is handeling the other half of that.

And just to ensure that my GPU is working I have run CineBench and it's reading/using the GPU for the OpenCL test (if it wasn't it would be using the Intel 4000) and I have CUDA-Z installed to read and ensure that the CUDA is on the GPU (because if I didn't have CUDA than CUDA-Z would be unable to read my GPU) also when I connect it to another screen onto the rMBP it'll switch over to the GPU rather than using the Intel 4000.

I'm trying to find sources or links to further help me out but I'm finding no luck at all.

FYI even when using OpenCL I get the same results however, I notice more CPU is being used when exporting (averaging roughly 60%).
 

floh

macrumors 6502
Nov 28, 2011
460
2
Stuttgart, Germany
There is a lot of confusion about CUDA and OpenCL, but especially GPUs floating around. The most important facts to get you thinking:

1. GPUs computations are very fast at certain, but not all, tasks. They will be faster than your CPU if the task is easily parallelizable to many (about 2000) cores, and/or if it uses operations that are well implemented on GPU architectures, like sines/cosines or shader operations.

2. A big problem on most systems is the bandwidth to the GPU memory. To get something calculated on the GPU, you have to copy all necessary information from your CPU RAM to your GPU VRAM, and that can take a long time.

So: For many tasks, the GPU is pretty efficient and will make things faster. But if you have to send around a lot of data (like for compressing an HD video), or if you have jobs that don't parallelize well (like matrix inversions), it might be better to do those things with the CPU.

If a software is programmed cleverly (and the Adobe ones certainly are), it will not exclusively use the GPU for everything it does, but distribute appropriately to exploit the advantages of CPU and GPU architectures.

Does that help you in any way? I had the feeling you were expecting the wrong things here...

-----

Oh, additionally: This seems to really bug you. But it's all working, is it not? I hope that you can somehow let go and just trust Adobe and your CPU/GPU to do the work they are supposed to.
 

jasonvp

macrumors 6502a
Jun 29, 2007
604
0
Northern VA
When it comes to rendering that clip (to get everything green) I notice that it uses the CPU to handel that and that's where I'm confused because I thought that the GPU would handel that.

Premiere Pro's use of the GPU is limited to certain effects, as well as scaling/resizing the video. Start here and follow several of the sub-links to understand what the software can and can't do with the GPU. It's applicable to both CS5.5 and CS6.
 

theuserjohnny

macrumors 6502
Original poster
Jul 7, 2012
450
7
There is a lot of confusion about CUDA and OpenCL, but especially GPUs floating around. The most important facts to get you thinking:

1. GPUs computations are very fast at certain, but not all, tasks. They will be faster than your CPU if the task is easily parallelizable to many (about 2000) cores, and/or if it uses operations that are well implemented on GPU architectures, like sines/cosines or shader operations.

2. A big problem on most systems is the bandwidth to the GPU memory. To get something calculated on the GPU, you have to copy all necessary information from your CPU RAM to your GPU VRAM, and that can take a long time.

So: For many tasks, the GPU is pretty efficient and will make things faster. But if you have to send around a lot of data (like for compressing an HD video), or if you have jobs that don't parallelize well (like matrix inversions), it might be better to do those things with the CPU.

If a software is programmed cleverly (and the Adobe ones certainly are), it will not exclusively use the GPU for everything it does, but distribute appropriately to exploit the advantages of CPU and GPU architectures.

Does that help you in any way? I had the feeling you were expecting the wrong things here...

-----

Oh, additionally: This seems to really bug you. But it's all working, is it not? I hope that you can somehow let go and just trust Adobe and your CPU/GPU to do the work they are supposed to.

No that helps out! I'm not upset or anything I just wanted better understanding of how it was working because again based on my knowledge my CPU shouldn't be doing that much work. So I came here to maybe get better clarification on how it works.

----------

Premiere Pro's use of the GPU is limited to certain effects, as well as scaling/resizing the video. Start here and follow several of the sub-links to understand what the software can and can't do with the GPU. It's applicable to both CS5.5 and CS6.

Perfect, I'll be sure to check them out!
 

theuserjohnny

macrumors 6502
Original poster
Jul 7, 2012
450
7
Thanks to those who have responded! I was able to check that link and I was able to get some of my questions answered!

When it comes to playing back video the accelerated effects are in work thanks to CUDA because the bar is yellow (as opposed to red). I get smooth playback as expected... then when I use a non-accelerated effect I get a red bar (as expected).

When I export my CPU is not being used at full capacity (regardless of what effects are there accelerated or non-accelerated) depending on what I'm exporting I'm roughly using 50-70% of the CPU rather than the full 90+%.

Where I'm still confused is when you render the clip to turn it from yellow to green (prior to export).

Based on my reading I'm guessing it would have to do with the file size of the clip? (again I still might have to re-read stuff)

When I do a clip from my Go-Pro Hero 2 regardless of what effects are on it it only uses half CPU power. So my assumption is roughly half/half... but when I do a clip from my 5D Mark II DSLR effects or no effects (accelerated or non-accelerated) it uses roughly 90% of my CPU

Now when it comes to exporting the final product I have no issues because it's using 50-70% of the CPU regardless.

When it comes to playback I have no issue but I guess I just need to try and find some answers as to why I still have 90% CPU usage when it comes to rendering clips from yellow to green.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.