AMD Radeon HD 7790 Review Feat. Sapphire: The First Desktop Sea Islandsby Ryan Smith on March 22, 2013 12:01 AM EST
The New PowerTune: Adding Further States
In 2010 AMD introduced their PowerTune technology alongside their Cayman GPU. PowerTune was a new, advanced method of managing GPU voltages and clockspeeds, with the goal of offering better control over power consumption at all times so that AMD could be more aggressive with their clockspeeds. PowerTune’s primary task was to reign in on programs like FurMark – power viruses as AMD calls them – so that these programs would not push a card past its thermal/electrical limits. Consequently, with PowerTune in place AMD would not need to set their maximum GPU clocks as conservatively merely to handle the power virus scenario.
This technology was brought forward for the entire Southern Islands family of GPUs, and remained virtually unchanged. PowerTune as implemented on SI cards without Boost had 3 states – idle, intermediate (low-3D), and high (full-3D). When for whatever reason PowerTune needed to clamp down on power usage to stay within the designated limits, it could either jump states or merely turn down the clockspeed, depending on how far over the limit the card was trying to go. In practice state jumps were rare – it’s a big gap between high and intermediate – so for non-boost cards it would merely turn down the GPU clockspeed until power consumption was where it needed to be.
Modulating clockspeeds in such a manner is a relatively easy thing to implement, but it’s not without its drawbacks. That drawback being that semiconductor power consumption scales at a far greater rate with voltage than it does with clockspeed. So although turning down clockspeeds does reduce power consumption, it doesn’t do so by a large degree. If you want big power savings, you need to turn down the voltage too.
Starting with 7790 and Bonaire, this is exactly what AMD is doing. Gone is pure clockspeed modulation – inferred states in AMD’s nomenclature – and instead AMD is moving to using a larger number of full states. GCN 1.1 has 8 states altogether, with no inferred states between them. With this change, when PowerTune needs to reduce clockspeeds it can drop to a nearby state, reducing power consumption through both clockspeed and voltage reductions at the same time.
With this change state jumping will also be a far more frequent occurrence. The lack of intermediate states and the lack of granularity (8 states over 700MHz is not fine-grained) effectively makes fast state jumping a requirement, as there’s a very good chance dropping down a state will leave some power/performance on the table. So if it’s throttling, 7790 will be able to state jump as quickly as every 10ms (that’s 100 jumps a second), typically bouncing between two or more states in order to keep the card within its limits.
At the same time, AMD’s formula for picking states on non-boost cards has changed. In a move similar to what AMD has done with Richland, AMD’s temperature-agnostic state selection system has been ditched in favor of one that includes temperatures into the calculation, making it a system that is now based on power, temperature, and load. There are some minor benefits to being temperature-agnostic that AMD is giving up – mainly that performance is going to vary a bit with temperature now – but at the end of the day this allows AMD to better min-max their GPUs to hit higher frequencies more often. This also brings them to parity with Intel and NVIDIA, who have long taken temperature into account.
The fact that this is a very boost-like system is not lost on us, and with these changes the line between PowerTune with and without boost starts to become foggy. Both are ultimately going to be doing the same thing – switching states based on power and temperature considerations – the only difference being whether a card adjusts down, or if it adjusts both up and down. In practice we rarely see cards adjust down outside of FurMark, so while PowerTune doesn’t dictate a clockspeed floor, base clocks are still base clocks. In which case the practical difference between whether an AMD card has boost or not is whether it can access some higher voltage, higher clockspeed states that it may not be able to maintain for long periods of time across all workloads. The 7790 isn’t a boost part of course, but AMD’s own presentation neatly lays out where boost would fit in, so if we do see future GCN 1.1 products with boost we have a good idea of what to expect.
Moving on, with the changes to PowerTune will also come changes to AMD’s API for 3rd party utilities, and what information is reported. First and foremost, due to the frequency of state changes with the new PowerTune, AMD will no longer be reporting the instantaneous state. Instead they will be reporting an average of the states used. We don’t know how big the averaging window is – we suspect it’s no more than 2 seconds – but the end result will be that MSI Afterburner, GPU-Z, and other utilities will now see those averages reported as the clockspeed. This will give most users a better idea of what the effective clockspeed (and thereby effective performance) is, but it does mean that it’s going to be virtually impossible to infer the clockspeeds/voltages of AMD’s new states.
The other change is that with the new PowerTune AMD will be exposing new tweaking options to 3rd parties. The current PowerTune (TDP) setting is going to be joined by a separate setting for adjusting a limit called Total Design Current (TDC), which as the name implies is how much current is allowed to be passed into the GPU. AMD limits cards by both TDP and TDC to keep total power, temperatures, and total currents in check, so this will open up the latter to tweakers. Unfortunately utilities with TDC controls were not ready in time for our 7790 review, so we can’t really comment on TDC at this time. With AMD’s changes to PowerTune however (and their insistence on calling TDP thermal management), TDP may be turning into a temperature control while TDC becomes the new power control.
Finally, since these controls are going to be user-accessible, this will spill-over to AMD’s partners. Partners will be able to set their own TDP and TDC limits if they wish, which will help them fine-tune their factory overclocked cards. This will give partners more headroom for such cards as opposed to being stuck shipping cards at AMD’s reference limits, but it means that different cards from different vendors may have different base TDP and TDC limits, along with different clockspeeds. This also means that in the future equalizing clockspeeds may not be enough to equalize two cards.