PowerTune and Variable Clock Rates

Probably the biggest change to the Hawaii GPU, other than the shader count and raw performance, is how AMD PowerTune is integrated and how AMD is managing power, voltage, temperature, and clock speeds. 

Gone are the days of the deterministic algorithm found in Tahiti as Hawaii uses a "fuzzy math" system to actively monitor and set nearly all aspects of the GPU power and performance.  Using a combination of hardware monitors, accumulators and serial interfaces on the hardware with power estimation tools and weighted functions, AMD is able to shift the clock, voltage and fan speeds at a very fast pace.

This new power logic is actually built into the 290X as well as the 260X / 7790 and the FM2 APUs as well showing the flexibility of the design.  This controller is able to switch voltages on the order of 10 microseconds delay with 6.25 mV granularity.  By doing this it can adjust performance of the R9 290X based on temperatures and the environment in which it is placed.

In many ways, the new AMD PowerTune technology is similar to NVIDIA introduced with Kepler GPUs.  The graphics card now determines on the fly, rather than set from the firmware or vendor, what clock speeds and voltages are safe based on the power levels and voltages required to reach them.  Fan speeds are really the heart of this algorithm though and AMD says it started there when looking at setting default parameters. 

The idea is simple enough: vary the clock speed of the 290X based on the temperature it is currently running, any headroom it may have left in terms of voltage / power, and the maximum fan speed set by the user (or firmware).  Managing it all can be difficult, though. It can lead to some interesting side effects.

Notice in this graph that the operating temperature of the GPU is approaching 95C. This is quite high in my book despite AMD's assurances that this temperature is safe for the ASIC to run at for its entire life. 

And while this graph isn't given any scale on either clock speeds or time, we have some of our data on how the 290X actually performs in real-world conditions.

 

Variable Clock Rates

Remember on the last page when we mentioned the "up to" 1.0 GHz clock rate on the R9 290X?  As it turns out, this measurement isn't very useful for guessing the clock speed at any given time after the first 2-3 minutes of game play spin up. 

What you are looking at here is the clock rate on a per-second basis as reported by a new version of GPU-Z supplied by AMD during a test run of Crysis 3.  You can see that while we are at 1000 MHz for a short period of time, it drops below that and wanders into the 900 MHz and 800 MHz range as well.

In my experience with the R9 290X, the ability to maintain a 1000 MHz clock speed was impossible in any game where you were running more than 5 minutes.  Even "easy" titles like Skyrim dropped well below the "up to" 1.0  GHz rate.

To showcase the effect this can have on clock speeds and performance I took a 60 second snip from GPU-Z recordings after 5-8 minutes of gameplay.  I then averaged the clock speed of those 60 data points to make the graph below.

This should represent the clock speeds of long-term gaming sessions in a case and environment with good air flow and decent ambient temperatures.  Notice that not one of them actually averaged over 900 MHz (though Skyrim got very close) and Bioshock Infinite actually was the slowest at 821 MHz.  That is an 18% drop in frequency from the "up to" rating that AMD provided us and provided add-in card vendors. 

But does this really matter?  I think AMD needs to come up with a frequency rating that is more useful than "up to" for the R9 290X as it misleading at best.  NVIDIA adopted a "typical Boost clock" for its GPUs that seems to have worked and also indicates a "base clock" that they guarantee the GPU will never go below during normal games.  R9 290X users should want the same information.

In terms of performance though, it won't change much of how we test.  All this means now is that we needed to "warm up" the GPU each time we were ready to benchmark it.  I tended to sit in the game for at least 5 minutes before running our normal test run and I think that is plenty of time to get the GPU up to its 95C operating temperature and push clocks to realistic levels.  Be wary of benchmarks results that DO NOT take that into account as they could be 10%+ faster than real-world results would indicate. 

In both Battlefield 3 and GRID 2, these differences produced results that you should be wary of!  While not earth-shattering differences in performance, in battles that are often won by single-digit percentages, reviewers and buyers can't be too careful.

« PreviousNext »