When rendering, is it a bad sign that the CPU is nearly maxing out?

Discussion in 'Digital Video' started by Siderz, May 22, 2013.

  1. macrumors 6502a

    Joined:
    Nov 10, 2012
    #1
    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:

    [​IMG]
    Software Only - It doesn't move that much


    [​IMG]
    OpenCL - It fluctuates considerably


    [​IMG]
    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.
     

    Attached Files:

  2. macrumors 68040

    acearchie

    Joined:
    Jan 15, 2006
    #2
    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!
     
  3. thread starter macrumors 6502a

    Joined:
    Nov 10, 2012
    #3
    Sounds so obvious to me now! That just hit me on the head! Can't believe I wasn't thinking about that already. Case closed I guess.
     
  4. mrichmon, May 22, 2013
    Last edited: May 22, 2013

    macrumors 6502a

    Joined:
    Jun 17, 2003
    #4
    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.
     
  5. thread starter macrumors 6502a

    Joined:
    Nov 10, 2012
    #5
    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.
     
  6. macrumors 6502a

    jasonvp

    Joined:
    Jun 29, 2007
    Location:
    Northern VA
    #6
    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
     

Share This Page