GPGPU Gets Another Practical Application
It seems like only a few months ago that the crew here at at Tom’s Hardware started approaching hardware vendors and software developers with our desire to more thoroughly evaluate the capabilities of OpenCL- and DirectCompute-capable components using real-world metrics. We've gone into as much depth as possible, but there just didn't seem to be much to report on. Sure, we'd run tests in Metro 2033 with its DirectCompute-based depth of field filter turned on and off. But the only conclusion we could draw was, "Wow, that sure hammers performance."
Finally, that situation is changing. A growing roster of games now implements DirectCompute. We're testing four of them in this piece: Battlefield 3, DiRT 3, Civilization 5, and of course, Metro 2033. Unlike most of the game testing we do at Tom’s Hardware, our focus here is not on raw system or component performance. Yes, this is another piece AMD helped us put together with technical insight and help talking to developers, so we're looking at the company's APUs and comparing them to discrete graphics. But there is more to this story than frame rate impact. It’s about enabling techniques for achieving realism that were previously infeasible in the days before GPU-based compute assistance.
“Getting more speed in games based purely on hardware revisions is not reaching the same sort of lofty heights we’ve seen in many years past,” says Neal Robison, director of ISV relationships at AMD. “Software developers typically didn’t have to recode their software because advancements in the hardware would give them an uplift that was, in many cases, double the performance of the previous generation. But now it’s getting to the point where we’re adding cores rather than beefing up the individual chips. Developers actually have to make some changes to their software—in some cases fundamental architectural changes. Heterogeneous compute is one of those keys that will allow you as a developer to literally get at the guts of the processor and make that giant leap forward with your software to encourage folks to upgrade.”
Robison's assessment of what developers will do with heterogeneous computing seems spot on when it comes to applications like Adobe Premiere Pro CS 5 (specifically, its CUDA-enabled Mercury Playback Engine) and video transcoding. Both parallelized workloads readily take advantage of optimizations for graphics architectures. However, we haven't yet seen a performance-oriented benefit attributable to OpenCL or DirectCompute in games. There, both APIs seem to be enabling software developers with new approaches to augmenting reality. We're still curious, though: how, exactly, are the top titles exploiting the latest in heterogeneous computing, and what's to come moving forward? Answering those questions requires developer feedback, and that's exactly what we sought out.
Before we go there, let's take a quick second to talk about performance. As we just saw last week in Battle At $140: Can An APU Beat An Intel CPU And Add-In Graphics?, there are well-defined limits to what you can expect out of today's APUs. We ran Metro. We ran Battlefield. We ran DiRT 3. In each case, these forward-looking games were moderately playable at 1024x768 using their lowest detail settings. Leaning harder on graphics resources for processing OpenCL or DirectCompute isn't going to change that story. More likely is that you'll get an opportunity to play a favorite game on an APU-equipped laptop that wouldn't have run smoothly previously.
But remember that we're a couple of months away from a new wave of CPUs from Intel and Trinity-based APUs from AMD. The performance bar is about to rise, and proper support for both compute standards will almost certainly affect the way your favorite title looks, providing both companies can demonstrate to us higher frame rates from their next-gen parts.