For a while now we’ve been trying to establish a proper cross-platform compute benchmark suite to add to our GPU articles. It’s not been entirely successful.

While GPUs have been compute capable in some form since 2006 with the launch of G80, and AMD significantly improved their compute capabilities in 2009 with Cypress, the software has been slow to catch on. From gatherings such as NVIDIA’s GTC we’ve seen first-hand how GPU computing is being used in the high-performance computing market, but the consumer side hasn’t materialized as quickly as the right situations for using GPU computing aren’t as straightforward and many developers are unwilling to attach themselves to a single platform in the process.

2009 saw the ratification of OpenCL 1.0 and the launch of DirectCompute, and while the launch of these cross-platform APIs removed some of the roadblocks, we heard as recently as last month from Adobe and others that there’s still work to be done before companies can confidently deploy GPU compute accelerated software. The immaturity of OpenCL drivers was cited as one cause, however there’s also the fact that a lot of computers simply don’t have a suitable compute-capable GPU – it’s Intel that’s the world’s biggest GPU vendor after all.

So here in the fall of 2010 our search for a wide variety of GPU compute applications hasn’t panned out quite like we expected it too. Widespread adoption of GPU computing in consumer applications is still around the corner, so for the time being we have to get creative.

With that in mind we’ve gone ahead and cooked up a new GPU compute benchmark suite based on the software available to us. On the consumer side we have the latest version of Cyberlink’s MediaEspresso video encoding suite and an interesting sub-benchmark from Civilization V. On the professional side we have SmallLuxGPU, an OpenCL based ray tracer. We don’t expect this to be the be all and end all of GPU computing benchmarks, but it gives us a place to start and allows us to cover both cross-platform APIs and NVIDIA & AMD’s platform-specific APIs.

Our first compute benchmark comes from Civilization V, which uses DirectCompute to decompress textures on the fly. Civ V includes a sub-benchmark that exclusively tests the speed of their texture decompression algorithm by repeatedly decompressing the textures required for one of the game’s leader scenes.

In our look at Civ V’s performance as a game, we noted that it favors NVIDIA’s GPUs at the moment, and this may be part of the reason why. NVIDIA’s GPUs clean up here, particularly when compared to the 6800 series and its reduced shader count. Furthermore within the GPU families the results are very straightforward, with the order following the relative compute power of each GPU. To be fair to AMD they made a conscious decision to not chase GPU computing performance with the 6800 series, but as a result it fares poorly here.

Our second compute benchmark is Cyberlink’s MediaEspresso 6, the latest version of their GPU-accelerated video encoding suite. MediaEspresso 6 doesn’t currently utilize a common API, and instead has codepaths for both AMD’s APP (née Stream) and NVIDIA’s CUDA APIs, which gives us a chance to test each API with a common program bridging them. As we’ll see this doesn’t necessarily mean that MediaEspresso behaves similarly on both AMD and NVIDIA GPUs, but for MediaEspresso users it is what it is.

We decided to go ahead and use MediaEspresso in this article not knowing what we’d find, and it turns out the results were both more and less than we were expecting at the same time. While our charts don’t show it, video transcoding isn’t all that GPU intensive with MediaEspresso; once we achieve a certain threshold of compute performance on a GPU – such as a GTX 460 in the case of an NVIDIA card – the rest of the process is CPU bottlenecked. As a result all of our Fermi NVIDIA cards at the GTX 460 or better take just as long to encode our sample video, and while the AMD cards show some stratification, it’s on the order of only a couple of seconds. From this it’s clear that with Cyberlink’s technology having a GPU is going to help, but it can’t completely offload what’s historically been a CPU-intensive activity.

As for an AMD/NVIDIA cross comparison, the results are straightforward but not particularly enlightening. It turns out that MediaEspresso  6 is significantly faster on NVIDIA GPUs than it is on AMD GPUs, but since we’ve already established that MediaEspresso 6 is CPU limited when using these powerful GPUs, it doesn’t say anything about the hardware. AMD and NVIDIA both provide common GPU video encoding frameworks for their products that Cyberlink taps in to, and it’s here where we believe the difference lies.

In particular we see MediaEspresso 6 achieve 50% CPU utilization (4 core) when being used with an NVIDIA GPU, while it only achieves 13% CPU utilization (1 core) with an AMD GPU. At this point it would appear that the CPU portions of NVIDIA’s GPU encoding framework are multithreaded while AMD’s framework is singlethreaded. And since the performance bottleneck for video encoding still lies with the CPU, this would be why the NVIDIA GPUs do so much better than the AMD GPUs in this benchmark.

Our final GPU compute benchmark is SmallLuxGPU, the GPU ray tracing branch of the open source LuxRender renderer. While it’s still in beta, SmallLuxGPU recently hit a milestone by implementing a complete ray tracing engine in OpenCL, allowing them to fully offload the process to the GPU. It’s this ray tracing engine we’re testing.

Compared to our other two GPU computing benchmarks, SmallLuxGPU follows the theoretical performance of our GPUs much more closely. As a result our Radeon GPUs with their difficult-to-utilize VLIW5 design end up topping the charts by a significant margin, while the fastest comparable NVIDIA GPU is still 10% slower than the 6850. Ultimately what we’re looking at is what amounts to the best-case scenarios for these GPUs, with this being as good an example as any that in the right circumstances AMD’s VLIW5 shader design can go toe-to-toe with NVIDIA’s compute-focused design and still win.

At the other end of the spectrum from GPU computing performance is GPU tessellation performance, used exclusively for graphical purposes. For the Radeon 6800 series, AMD enhanced their tessellation unit to offer better tessellation performance at lower tessellation factors. In order to analyze the performance of AMD’s enhanced tessellator, we’re using the Unigine Heaven benchmark and Microsoft’s DirectX 11 Detail Tessellation sample program to measure the tessellation performance of a few of our cards.

Since Heaven is a synthetic benchmark at the moment (the DX11 engine isn’t currently used in any games) we’re less concerned with performance relative to NVIDIA’s cards and more concerned with performance relative to the 5870. Compared to the 5870 the 6870 ends up being slightly slower when using moderate amounts of tessellation, while it pulls ahead when using extreme amounts of tessellation. Considering that the 6870 is around 7% slower in games than the 5870 this is actually quite an accomplishment for Barts, and one that we can easily trace back to AMD’s tessellator improvements.

Our second tessellation test is Microsoft’s DirectX 11 Detail Tessellation sample program, which is a much more straightforward test of tessellation performance. Here we’re simply looking at the framerate of the program at different tessellation levels, specifically level 7 (the default level) and level 11 (the maximum level). Here AMD’s tessellation improvements become even more apparent, with the 6870 handily beating the 5870. In fact our results are very close to AMD’s own internal results – at level 7 the 6870 is 43% faster than the 5870, while at level 11 that improvement drops to 29% as the increased level leads to an increasingly large tessellation factor. However this also highlights the fact that AMD’s tessellation performance still collapses at high factors compared to NVIDIA’s GPUs, making it all the more important for AMD to encourage developers to use more reasonable tessellation factors.

Wolfenstein Power, Temperature, & Noise
Comments Locked

197 Comments

View All Comments

  • Finally - Friday, October 22, 2010 - link

    Did you have a look at the games market lately? Noticed all those shabby console ports? There is no progress because the graphics power of an XBOX or PS3 is exactly the same as it has been when they were introduced.

    Then again, who wants to play dumbed-down console games, made by illiterates for illiterates running on antique hardware which severely limits innovation in the graphics sector?
  • jimhsu - Friday, October 22, 2010 - link

    "I know the 4890 is a pig (loud, noisy, power hungry) compared to the cards here"

    And hence your point. Essentially, major COMPUTER manufacturers (not just video card makers) simply are less concerned about maximum performance anymore -- for 95% of the population, what we have now is "good enough", and for the remaining 5%, getting more of the cheap stuff is also "good enough" (HPC builders, SLI/CrossFire, etc). Instead, people look at things like "is this quiet" (heat production, fans) or "what does this mean for my bottom line" (power consumption, replacability). The age of the monolithic "fast chip" is over.
  • Jamahl - Friday, October 22, 2010 - link

    AMD naming the cards the 6800 series or Anandtech changing their policy of not reviewing overclocked cards.
  • spigzone - Saturday, October 23, 2010 - link

    AMD renaming their cards = more confusing
    Anandtech 'changing' their policy = more inexplicable.
  • softdrinkviking - Friday, October 22, 2010 - link

    i join the throngs of disgruntled consumers that object to the new naming convention of the 6800 series.
    it's silly and stupid, and you should be ashamed of your collective AMD selves.
  • spigzone - Saturday, October 23, 2010 - link

    I didn't like it either ... until I saw the release prices ...

    Then I didn't much care anymore.
  • gorg_graggel - Friday, October 22, 2010 - link

    why the heck didn't they just call them 6850 and 6530? according to the numbers those are the the true internal competitors...
    that would also fit with the premise that a next-gen card with the same naming conventions is at least a bit faster...
    the upcoming 6950 and 6970 cards could accordingly be named 6870 and 6890 respectively...
    and the next 2-chip variant could have the 69xx namespace for itself as it clearly wouldn't be justified to append an x2 to it, due to the same reasons the 5000 dual-chip cards don't do this...
    because of different chips? john doe doesn't know about such distinctions and just cares about performance (compared to older generations) when upgrading.
    he's just confused why the 6870 is slower than a 5870 and the guy who knows more about the tech behind it is pissed, because he has to explain to him why the names are not analogous to performance and why it's not kept consistent at least for a few generations...

    the explanations amd has given about this is not satisfying and gives me the impression that they deliberately want to confuse customers...however i can't think of a logical "why"...
  • jonup - Friday, October 22, 2010 - link

    To answer your question, Because that makes too much sense!
  • Donkey2008 - Friday, October 22, 2010 - link

    I agree 100%. The new naming scheme is misleading and it seems like 6750 and 6770 would have been much more accurate IMO. From AMD releases over the last several years, the performance of nex-gen 2nd tier cards are ~ equal to the previous top tier cards. This is the first time AMD has strayed from their naming scheme in a long time and it has all the makings of a marketing dept telling the engineers what to call their cards.

    Like to pointed out, 95% of consumers (the ones who waddle into Best Buy and tell someone at the Geek Squad counter to "install a gaming card") won't know the difference. Most of these average consumers will believe that a 6870 is a much better card performance-wise then the previous generation 5870, so they will see the price and think it is a steal. AMD is playing the numbers game with uneducated consumers ("higher numbers are better, right?") and it is sort of disappointing IMO. I expect more from them as a psuedo-fanboy (I am a current of owner of a 4850 and (2) 4890)

    I am still anxious to see what the 69xx has to offer, but some of the excitement of the entire 6xxx series launch has faded because of the new naming scheme. I just don't like marketing games and being played. Tech people are not only sharp, but HIGHLY biased and any deviation from outright perfection usually gets punished (i.e. Microsoft Vista, iPhone 4 antenna, Nvidia GT 250, etc etc). AMD should have known better.
  • gorg_graggel - Friday, October 22, 2010 - link

    hmmm well, on second thought it could make more sense in the future as the new scheme reorganized the naming to fit more to the performance categories...
    if they would have been named 6750/6770 their would be riots, because amd dared to raise the prices in the midrange segment, as the author of the article already said i think, which would be even worse...
    in the past amd changed strategies of how big and fast chips are a few times, but the naming didn't...they just didn't have single chips that deserved a name in the x900-range...
    so now that the cayman chip is in the 300w size amd changed its sweet-spot only strategy to a more standard strategy again with low-end, midrange, performance and high-end cards and the new naming does fit perfectly here...at least i have this impression...
    so it maybe confusing now, but depending on how future products turn out it will make more sense again...

Log in

Don't have an account? Sign up now