CUDA-Enabled Apps: Measuring Mainstream GPU Performance

The workstation world may be full of CUDA-friendly visualization apps, but so far in the consumer world, transcoding is king for CUDA. Aside from Folding@home and SETI@home, every single application on Nvidia’s consumer CUDA list involves video editing and/or transcoding. Dig into Nvidia’s CUDA Zone site and you’ll discover other projects that promise good things for CUDA’s future in speech recognition, digital surveillance, audio editing/mixing, and gaming (see the UT3 PhysX mod pack with three CUDA-accelerated levels—Lighthouse, Tornado, and HeatRay). Today, though, we have video. Hopefully, we can extrapolate from the early results seen with these apps a similar sort of benefit waiting for a wider diversity of apps in the future.

I say that with some reservation. CUDA isn’t a magic wand that can accelerate everything. Even within the specific field of transcoding, only certain types of operations, such as motion compensation and discrete cosine transform (DCT), lend themselves to rampant parallelization. Many functions don’t. Developers don’t simply say, “hey, let’s coda for CUDA,” have a good chuckle over their wit, and get a 20x performance boost two or three weeks later. The application must contain functions that can leverage parallelism in a way that jibes with CUDA’s architecture.

CyberLink’s PowerDirector 7 was the first application to use the CUDA Video Encoder Library. Today, that library only supports H.264 encoding—an important point, as we’ll see in a minute. The excellence of H.264 as a codec has been amply documented, easily trouncing the likes of MPEG-2 for efficiency and image quality. The trade-off is that encoding and decoding with H.264 takes a crushing amount of processing power. This is why you haven’t seen integrated graphics chipsets try to tackle H.264 until very recently. The decoding load shoved onto the CPU in order to play a Blu-ray disc more or less redlined the system. Is it any wonder that encoding a Blu-ray rip into MPEG-4/H.264 can consume a modern PC for an entire day?

In the end, of course, H.264 is only useful if you can play back files in MPEG-4/H.264 format, such as on an iPod or a PC. Vendors like to assume that you’ll be using H.264 encoding for your unencrypted home videos, and a few of you just might. But whatever your content is, the fact remains that a lot of us now own high-def TVs and the days of disc media are numbered. The ways in which we’ll be able to enjoy HD media files will grow ever wider. If you’re not an everyday transcoder yet, your time may be coming soon, and in the foreseeable future, H.264 will play a big role in that.

  • 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