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

Siderz

macrumors 6502a
Original poster
Nov 10, 2012
991
6
I was on another forum asking about something, and someone said that if you see your CPU 'pegged', that means there's a bottleneck somewhere. I thought it'd be the opposite; if the CPU is going high, it means it's getting the resources fast enough that it can stay busy, and if it's going low, it isn't getting enough resources at once, am I correct? I'd have thought that the CPU going high would be 'full blast', full potential etc.

I'm using Premiere Pro CS6, and tested it with each render mode (CUDA using that hack). Here are screenshots of the CPU during each mode:

dOCn4y3.png

Software Only - It doesn't move that much


JeqVTKw.png

OpenCL - It fluctuates considerably


24Rhkc4.png

CUDA - It fluctuates considerably


System specs are:
  • 21.5" 2012 iMac
  • 3.1GHz i7
  • 16GB RAM
  • GeForce 650M 512MB
  • Fusion Drive
  • 4TB G-RAID via FireWire 800 via Thunderbolt port
  • Mac OSX 10.8.3
  • Premiere Pro 6.0.2

And the clips being rendered are straight from a Canon 650D with some (8%) noise added.

Also, out of the three render modes, which one do people suggest? CUDA seems to be the fastest for me, but I get the feeling that since my GPU doesn't have the minimum amount of VRAM required for Premiere Pro CUDA (1GB) that it may be 'fake', and might cause problems somewhere along the line. So far I haven't had a single problem though.
 

Attachments

  • dOCn4y3.png
    dOCn4y3.png
    17.7 KB · Views: 522
  • JeqVTKw.png
    JeqVTKw.png
    26.4 KB · Views: 527
  • 24Rhkc4.png
    24Rhkc4.png
    20.8 KB · Views: 530

acearchie

macrumors 68040
Jan 15, 2006
3,264
104
You want to max out your CPU. Yes it means there is a bottle neck but it means that your CPU is the bottleneck.

I have a ton of BMCC footage to convert and if I hadn't configured AE to use all my cores and ram I would be sitting here for an awful lot longer!
 

mrichmon

macrumors 6502a
Jun 17, 2003
873
3
If your CPU is pegged then your CPU is the limiting factor in speeding up the render. In theory, using software rendering if you could speed up your CPU then you will proportionally reduce the render time. That is, doubling your CPU speed will cut your render time in half.

In reality, doubling CPU speed is typically not possible. Additionally, even if it was possible to dramatically increase your CPU speed you would not be able to realize the render time reduction because increasing the CPU speed would cause other parts of the system to be the bottleneck (RAM speed, disk speed, interconnect speeds are likely to be hit.)

With OpenCL, and CUDA you are utilizing processing power in your GPU that is not reflected in the CPU meter. In these cases, since the GPU is doing the heavy processing of the render the CPU is primarily responsible for shifting data to and from the GPU. In these cases a GPU monitor is likely to show that the GPU is pegged. Since you don't have a lot of video RAM your GPU using CUDA might not be reaching the potential processing throughput that the GPU core provides.

However, all of this is largely irrelevant. For any particular file, rendering the file using software-only rendering almost certainly takes the longest time as measured by a wall-clock. OpenCL and CUDA are both using the GPU hardware to perform the rendering so will take different lengths of time but the difference between them might not be significant. It is certain that the hardware rendering approaches will be significantly faster than the software rendering.

Assuming that software and hardware approaches produce the same output quality, pick the approach that pushes through the workload faster. There may be differences in output quality or characteristics because of the different code paths involved. But in general, each of the three options are intended to produce equivalent output.

Computer chips do not wear out because they are used a lot. So long as the chip isn't overheating there is no difference in lifespan of a CPU/GPU that is running at 100% capacity constantly and a CPU/GPU that is running at 5% capacity constantly. Computer chips fail due to power cycles (on/off changes) and thermal cycles (cold/hot changes).

Flash memory is a different beast and does exhibit physical changes that directly correlate to the number of write operations to a particular memory cell.
 
Last edited:

Siderz

macrumors 6502a
Original poster
Nov 10, 2012
991
6
Assuming that software and hardware approaches produce the same output quality, pick the approach that pushes through the workload faster. There may be differences in output quality or characteristics because of the different code paths involved. But in general, each of the three options are intended to produce equivalent output.

Yeah, that's pretty much why I'm not sure which one to pick.

I looked at a frame from each, and felt that CUDA looks sharper, but has some colour banding; software only is a bit less sharp, but doesn't have colour banding. Some clips however didn't have any difference.
 

jasonvp

macrumors 6502a
Jun 29, 2007
604
0
Northern VA
Yeah, that's pretty much why I'm not sure which one to pick.

OpenCL acceleration is a recent thing for Adobe, as of CS6. They've been doing CUDA acceleration for a few years, however. Further, with an nVidia GPU, the CUDA APIs are going to produce faster results on a Mac than the Apple-provide OpenCL APIs will. CUDA is more mature and better maintained thus far. And that's saying a lot, because generally, the driver developers at nVidia aren't much better than trained monkeys.

If you have an nVidia GPU, use CUDA with Adobe's software.

jas
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.