CUDA-Enabled Apps: Measuring Mainstream GPU Performance

TMPGEnc Results

For our tests, we typically output the test files into the MPEG-4 AVC main profile, adding both video noise reduction and color correction filters. The one exception was when we output the Get Out! file in high-def without the filters, just to see what it would do to CPU utilization. You can clearly see the GPU taking a lot of the encoding load off the CPU during MPEG-2 output, but this doesn’t necessarily translate into transcoding acceleration. The 9600 GT was actually slower when rendering into MPEG-2 with GPU acceleration enabled. Curious that we see a GPU-assist improvement with the 9800 GTX but not the 9600 GT. 

Back to the AVC encoding. On our 15-second file test, outputting to 1440x1080, we see CUDA giving a 19% benefit on the 9600 GT and a 45% benefit with the 9800 GTX. Here’s an interesting point. TMPGEnc also tells you the split between average CPU and GPU usage during GPU-assisted transcoding. On the 9600 GT, this was about split at 52% GPU and 48% CPU, even though our maximum observed CPU utilization in the Windows Resource Monitor was 95 percent. However, on the 9800 GTX, we saw an 11% CPU and 89% GPU split. This would seem to indicate that the application is making full use of those extra stream processors.

Just to double-check the claims about only filters being accelerated, we also ran the Get Out! clip to 1440x1080 with no filters added and saw just what you’d expect: a slight performance improvement from having GPU assistance enabled but no real speed explosion because CUDA never came into play. Without CUDA, we saw a 92% CPU, 8% GPU split on both cards.

With both filters applied, the Get Out! render had decent results. On the 9600 GT, output times dropped by five minutes with CUDA’s assistance—a 20% gain. With the 9800 GTX, we dropped eight minutes for a 32% improvement.

Honestly, I’d like to see Pegasys making better use of CUDA for encoding than just accelerating filters. Among everyday people, the former gets used a lot more than the latter. But the results here still make the case for CUDA’s potential, even if other applications do a better job of leveraging that potential.

  • SpadeM
    The 8800GS or with the new name 9600GSO goes for 60$ and delivers 96 stream processors. Would it be correct to assume that it would perform betwen the 9600 GT and 9800 GTX you reviewed?

    Other then that great article, been waiting for it since we got a sneak preview from Chris last week.
    Reply
  • curnel_D
    And I'll never take Nvidia marketing seriously until they either stop singing about CUDA being the holy grail of computing, or this changes: "Aside from Folding@home and SETI@home, every single application on Nvidia’s consumer CUDA list involves video editing and/or transcoding."
    Reply
  • As more software will use CUDA, we will not only see a great boost in performance for e.g. video performance, but for parallel programing in general. This sky rocket this business into a new age!
    Reply
  • curnel_D
    l0bd0nAs more software will use CUDA, we will not only see a great boost in performance for e.g. video performance, but for parallel programing in general. This sky rocket this business into a new age!Honestly, I dont think a proprietary language will do this. If anything, it's likely to be GPGPU's in general, run by Open Computing Language.(OpenCL)
    Reply
  • one-shot
    Are we both thinking about the same "Pirates 2"? Or am I missing something...
    Reply
  • IzzyCraft
    Who knows it's just a clip he used he could be naming it anything for the hell of it.

    CUDA transcoding is very nice to someone that does H.264 transcoding at a high profile and lacks a 300+ dollar cpu who would spend hours transcoding a dvd on high profile settings.

    Else from that CUDA acceleration has just been more of a feature nothing like a main event. Although can easly be the main attraction to someone that does a good flow of H.264 trasncoding/encoding.

    Encoding/transcoding in h.264 high profile can easily make someone who is very content with their cpu and it's power become sad very quickly when they see the est time for their 30 min clip or something.
    Reply
  • I'm using CoreAVC since support was added for CUDA h264 decoding. I kinda feel stupid for buying a high end CPU (at the time) since playing all videos, no matter the resolution or bit-rate, leaves the CPU at near-idle usage.
    Vid card: 8600GTS
    CPU: E6700
    Reply
  • IzzyCraft
    Well you lucked in considering not all of the geforce 8 series supports H.264 decoding etc.
    Reply
  • ohim
    they should remove Adobe CS4 suite from there since Cuda transcoding is only posible with nvidia CX videocards not with normal gaming cards wich supports cuda.
    Reply
  • adbat
    CUDA means Miracle in my language :-) I it will do those
    The sad thing is that ATI does not truly compete in CUDA department and there is not standard for it.
    Reply