Huawei’s GPU Turbo: Valid Technology with Overzealous Marketing
by Ian Cutress & Andrei Frumusanu on September 4, 2018 9:00 AM EST- Posted in
- Smartphones
- Huawei
- Mobile
- Benchmarks
- honor
- Neural Networks
- Kirin 970
- AI
The Claimed Benefits of GPU Turbo: Huawei’s Figures
Some of the most popular and widely quoted figures from the marketing slides during the release of GPU Turbo were the claims that the new feature would somehow achieve both up to 60% higher performance while also being able to reduce SoC power by up to 30%. Huawei (and Honor) are very very keen on these numbers, and show the results in the best possible light.
These figures were so widespread that they were again reiterated in last Thursday’s IFA global launch of the Honor Play. Over the last few days, I’ve seen plenty publications reporting these figures and attributing them to the benefits of GPU Turbo. However as of yet, no analysis has taken place.
Most slides we have seen look something like this, making it very easy to just put numbers into an article:
As AnandTech is very much a technical-oriented publication, from the get-go these numbers looked suspicious to us. We take pride and value in our own independent analysis, making sure that the numbers promoted are remotely achievable. After all, numbers like this often go against common-sense engineering advancements. And this is exactly where the marketing numbers fall apart. More on that later.
So What is GPU Turbo? We Finally Have Some Clarity
When we initially went looking for a detailed explanation of GPU Turbo, I (Andrei) first attempted to figure out by myself what GPU Turbo does. The lack of details, aside from projected performance improvements, is a very weak place to start. It also ended up being quite a nightmare of a task for one specific reason: despite years of allowing devices to be rooted, at around the same time as GPU Turbo was launched, Huawei and Honor stopped allowing bootloader unlocking. This prevented users from modifying the system’s firmware, and us included as we were unable to root the devices to help with benchmark profiling. Furthermore, all new firmware that ships with GPU Turbo is said to be vastly more locked down. It has not been made clear if the two items are directly related, though anyone who likes a good conspiracy might be inclined to think so.
As a result, in the context of GPU Turbo, what I had in mind was to actually profile the GPU via Arm’s Streamline tool, as this would give us exact information on the workloads that the GPU is processing. With these tools, we can deeply analyze what is going on under the hood. Either intentionally or unintentionally, the lockdown of the bootloader prevents us from doing this. Unfortunately because of the limitations, this was a dead-end in my testing.
I had started writing this article with no further detailed explanation, however we met with the EMUI software team at IFA, and we were able to finally get a more comprehensive explanation as to what GPU Turbo is. We discussed this technology with both the hardware and software teams, and had very different discussions with both.
With the hardware team – specifically with HiSilicon – they made it clear that this is purely a software technology. The mechanisms in GPU Turbo are aided by the controls they put in place, but the actual way that GPU Turbo works is all down to software. This is good to know, and also explains why Huawei is able to roll it out across all of its smartphone range. It also is not tied to the NPU, although having an NPU in the mix does help, apparently.
However, the public first hint of what it actually does was included in Friday’s Kirin 980 keynote presentation, referred to as “AI Loading Prediction Technology”.
What the slide tries to convey is that GPU Turbo allows the SoC to better follow the compute workload, adjusting the hardware performance states in order to better adapt to the workload. For example, when the CPU needs more power than the GPU, the power ratio availability can be adjusted to match these new requirements, improving both performance and efficiency.
We go into a bit more depth on the next page, where we finally have a good explanation of the mechanism. We have to thank Dr. Wang Chenglu, Huawei’s President of CBG (Smartphone) Software, for this information.
64 Comments
View All Comments
eastcoast_pete - Tuesday, September 4, 2018 - link
Thanks Andrei! I agree that this is, in principle, an interesting way to adjust power use and GPU performance in a finer-grained way than otherwise implemented. IMO, it also seems to be an attempt to push HiSlilicon's AI core, as its other benefits are a bit more hidden for now (for lack of a better word). Today's power modes (at least on Android) are a bit all-high or all-low, so anything finer grained is welcome. Question: how long can the "turbo" turbo for before it gets a bit warm for the SoC? Did Huawei say anything about thermal limitations? I assume the AI is adjusting according to outside temperature and SoC to outside temperature differential?Regardless of AI-supported or not, I frequently wish I could more finely adjust power profiles for CPU, GPU and memory and make choices for my phone myself, along the lines of: 1. Strong, short CPU and GPU bursts enabled, otherwise balanced, to account for thermals and battery use (most everyday use, no gaming), 2. No burst, energy saver all round (need to watch my battery use) and 3. High power mode limited only by thermals (gaming mode), but allows to vary power allocations to CPU and GPU cores. An intelligent management and power allocation would be great for all these, but especially 3.
Ian Cutress - Tuesday, September 4, 2018 - link
GPU Turbo also has a CPU mode, if there isn't an NPU present. That's enabling Huawei to roll it out to older devices. The NPU does make it more efficient though.In your mode 3, battery life is still a concern. Pushing the power causes the efficiency to decrease as the hardware is pushed to the edge of its capabilities. The question is how much of a trade off is valid? Thermals can also ramp a lot too - you'll hit thermal skin temp limits a lot earlier than you think. That also comes down to efficiency and design.
kb9fcc - Tuesday, September 4, 2018 - link
Sounds reminiscent of the days when nVidia and ATI would cook some code into their drivers that could detect when certain games and/or benchmarking tools were being run and tweak the performance to return results that favored their GPU.mode_13h - Tuesday, September 4, 2018 - link
Who's to say Nvidia isn't already doing a variation of GPU Turbo, in their game-ready drivers? The upside is less, with a desktop GPU, but perhaps they could do things like preemptively spike the core clock speed and dip the memory clock, if they knew the next few frames would be shader-limited but with memory bandwidth to spare.Kvaern1 - Tuesday, September 4, 2018 - link
I don't suppose China has a law that punishes partyboss owned corporation for making wild dishonest claims.darckhart - Tuesday, September 4, 2018 - link
ehhh it's getting hype now, but I bet it will only be supported on a few games/apps. it's a bit like nvidia's game ready drivers: sure the newest big name game releases get support (but only for newer gpu) and then what happens when the game updates/patches? will the team keep the game in the library and let the AI keep testing so as to keep it optimized? how many games will be added to the library? how often? which SoC will continue to be supported?mode_13h - Tuesday, September 4, 2018 - link
Of course, if they just operated a cloud service that automatically trained models based on automatically-uploaded performance data, then it could easily scale to most apps on most phones.Ratman6161 - Tuesday, September 4, 2018 - link
meh....only for games? So what. Yes, I know a lot of people reading this article care about games, but for those of us who don't this is meaningless. But looking at it as a gamer might, it still seems pretty worthless. Per soc and per game? That's going to take constant updates to keep up with the latest releases. And how long can they keep that up? Personally if I were that interested in games, I'd just buy something that's better at gaming to begin with.mode_13h - Tuesday, September 4, 2018 - link
See my point above.Beyond that, the benefits of a scheme like this, even on "something that's better at gaming to begin with", is longer battery life and less heat. Didn't you see the part where it clocks everything just high enough to hit 60 fps? That's as fast as most phone's displays will update, so any more and you're wasting power.
mode_13h - Tuesday, September 4, 2018 - link
I would add that the biggest benefit is to be had by games, since they use the GPU more heavily than most other apps. They also have an upper limit on how fast they need to run.However, a variation on this could be used to manage the speeds of different CPU cores and the distribution of tasks between them.