ATI Stream: Finally, CUDA Has Competition

Heavier Lifting

One scenario we haven’t seen yet is transcoding into 1080 high-definition. I originally ran several tests that involved interpolating from a lower resolution to a higher one. Some people might be tempted to do this because, after all, your Blu-ray player does it for DVDs, and the results look better, right? The difference is that Blu-ray players and other upscalers apply a lot of filtering in order to make interpolated images look more natural. When you tell an encoder to make more pixels out of fewer pixels, it simply magnifies the pixels, leaving you with jagged, nasty looking results and a much larger file to boot. Why bother?

AMD argued with me that no one would bother trying to perform this sort of upscaling, and I suspect they’re right. I sure wouldn’t. Of course, AMD had good cause to persuade me. My test results showed CUDA with a clear advantage on such operations. Still, I threw the tests out. AMD’s logic was sound, and it’s probably worth reprinting part of their email to me here:

The objectives of real-life transcoding are:

  • Reducing the file size on the hard drive while trying to keep the best quality possible. This can be achieved by:
  •     Reducing the resolution of the video, e.g. going from 1080p to 720p or SD
  •     Or adding compression while keeping the same resolution like HD to HD, e.g. converting MPEG-2 HD to H.264 HD
  • Converting for a portable device
  • Transcoding from HD, SD to these portable devices to file the player requirements
  • Converting to social media like YouTube
  • Transcoding from HD, SD to these site requirements
  • Authoring DVDs or Blu-ray Discs (BD)
  • For DVDs, that means converting to MPEG-2 SD from HD or SD
  • For BD, that means converting to MPEG-2 HD, H.264 HD or VC-1

This is almost a complete list. The one significant omission is captured in our final test for similar resolution transcoding. I took the 115 MB Terminator 2 WMV HD trailer, which displays at 1440x1080 with black bars, and transcoded it into Espresso’s MPEG-4 1920x1080 profile. As H.264 emerges as the de facto choice for high-def media, a lot of people are going to want to migrate over the HD files they have in other formats.

Neither GPU technology accelerates WMV decoding, both accelerate MPEG-4 encoding, and we have very similar CPU-only output times, so it should be a fair fight. Both sides score remarkable gains with GPU assistance, and this bout testifies to just how much time savings GPU computing might offer to transcoders when multiplied across sizable batch jobs. But CUDA takes the clear lead here, knocking over two minutes off of Stream’s already impressive encode time. Had we been working with an MPEG-2 HD file here rather than WMV HD, I suspect Stream would have eked out a win, so keep that in mind as you consider your own transcoding needs.

Final score: AMD 3, Nvidia 4. However, I’m going to call this a tie, and MPEG-2 decoding may be the deal-maker depending on your usage scenarios. If you need it and all we’re talking about is performance, then Stream wins. If you don’t need MPEG-2 acceleration and you want more GPGPU-enabled applications to choose from, then CUDA is likely your sensible choice today.

  • radiowars
    So..... TBH they both work pretty well, I hope that we don't start a whole competition over this.
  • falchard
    Did someone necro an old topic? I think ATI has been talking about ATI Stream for a while. I know atleast a year since FireStream.
  • cl_spdhax1
    arcsoft simhd plugin is currently only enabled for n- cuda graphic cards.
  • Andraxxus
    They're good but hopefully they will manage to improve them more. Competition is good for business.
  • DjEaZy
    ... why just now talk about? I use it sins Catalyst 8.12...
  • IzzyCraft
    Stream is old but not nearly as old and compatible as CUDA I'd get it a year or two more when more capable cards circulate the market and trickle down to the people before i would call it competition.

    Well it's good to see more then just 1 app that supports it.
  • ThisIsMe
    Just for the sake of it, and the fact that many pros would like to know the result, it would be nice to see comparisons like this using nVidia's Quadro cards vs. ATI's FirePro cards.
  • ohim
    why use 185.85 since those drivers are a total wreck

    13 pages with ppl having different problems with that driver
  • I think the second graph on the "Mixed Messages" page isn't the right graph.

    It's the same graph from the following "Heavier Lifting" page instead of a graph for the 298MB VOB file that should be shown?
  • Spanky Deluxe
    Stream and CUDA are likely to go the way of the dodo soon though. OpenCL's where its at. Unfortunately its a tad hard to get programming with it right now since you need to be a registered developer on nVidia's Early Access Program or you have to be a registered developer with Apple's developer program with access to pre-release copies of Snow Leopard.
    Virtually no one will bother using CUDA or Steam after OpenCL's out - why limit yourself to one hardware base after all? It'd be like writing Windows software that only ran on AMD processors and not Intel. Developers will not bother writing for both when they can just use one language that can run on both hardware platforms.