The iPhone 6 Reviewby Joshua Ho, Brandon Chester, Chris Heinonen & Ryan Smith on September 30, 2014 8:01 AM EST
- Posted in
- iPhone 6
A8’s GPU: Imagination Technologies’ PowerVR GX6450
Last but not least on our tour of the A8 SoC is Apple’s GPU of choice, Imagination’s PowerVR GX6450.
When Apple first announced the A8 SoC as part of their iPhone keynote, they told us to expect a nearly 50% increase in graphics performance. Based on that information and on the fact that that Apple was moving to a denser 20nm process, we initially believed that Apple would be upgrading from A7’s 4-core PowerVR design to a 6-core design, especially in light of the higher resolution displays present on the iPhone 6 and iPhone 6 Plus.
Instead our analysis with Chipworks found that only four GPU cores were present on A8, which ruled out the idea of a 6-core design but did narrow down the options considerably. Based on that information and more importantly Apple’s Metal Programming Guide, we have been able to narrow down our options to a single GPU, the PowerVR GX6450.
The GX6450 is the immediate successor to the G6430 first used in the A7 and is based on Imagination’s PowerVR Series6XT architecture. Imagination first announced PowerVR Series6XT to the public at CES 2014, and now just a short eight months later we are seeing the first Series6XT hardware reach retail.
We have already covered the PowerVR Series6/Series6XT architecture in some detail earlier this year so we won’t go through all of it again, but we would encourage anyone who is interested to take a look at our architectural analysis for additional information. Otherwise we will be spending the bulk of our time looking at how GX6450 differs from G6430 and why Apple would choose this specific GPU.
From a technical perspective Series6XT is a direct evolution over the previous Series6, and GX6450 is a direct evolution over G6430 as well. Given a 4-core configuration there are only a limited number of scenarios where GX6450 outright has more hardware than G6430 (e.g. additional ALUs), and instead Series6XT is focused on adding features and improving performance over Series6 through various tweaks and optimizations to the architecture. Series6 at this point is actually over two years old – it was first introduced to the public at CES 2012 – so a lot has happened in the mobile GPU landscape over the past couple of years.
The closest thing to a marquee feature on Series6XT is support for Adaptive Scalable Texture Compression (ASTC), a next-generation texture compression technology that is slowly making its way into GPUs from a number of manufacturers. Designed by the consortium responsible for OpenGL ES, Khronos, ASTC is designed to offer better texture compression (with finer grained quality options) than existing texture compression formats while also being a universal format supported by all GPUs. In Apple’s case they have always been using PowerVR GPUs – and hence all products support PVRTC and more recently PVRTC2 – however ASTC being exposed allows them to take advantage of the quality improvements while also making game development and porting from other platforms easier.
Less visible to users but certainly important to Apple, Series6XT also includes new power management capabilities to reduce power consumption under idle and light workloads. Through finer grained power gating technology that Imagination dubs “PowerGearing G6XT”, GX6450 can now have its shading clusters (USCs) powered down individually, allowing only as many of them as are necessary to be fired up. As Apple continues to min-max their designs, being able to idle at a lower power state can be used to improve battery life and/or increase how often and how long the A8’s GPU uses higher power states, improving overall efficiency.
Apple iPhone GPU Performance Estimate: Over The Years
And, perhaps most importantly overall, Series6XT comprises a series of under-the-hood optimizations to improve overall performance. When it comes to the internals of PowerVR architectures we only have limited details from Imagination on how they operate, so in some areas we know quite a bit about what Imagination has been up to and in other areas their architectures are still something akin to a black box. At any rate Imagination’s goal for Series6XT was to improve performance by up to 50% – this seems to be where Apple’s 50% performance improvement claim comes from – though as we’ll see the performance gains on real world applications are not going to be quite as potent.
What we do know about Series6XT is that Imagination has made some changes to the structure of the USCs themselves. Series6XT still uses a 16-wide SIMD design, but in each pipeline they have added another set of medium/half-precision (FP16) ALUs specifically to improve FP16 performance. Now instead of 2x3 (6) FP16 ALUs, Series6XT bumps that up to 4x2 (8) FP16 ALUs. This is the only outright increase in shader hardware when you compare Series6 to Series6XT, and on paper it improves FP16 performance by 33% at equivalent clock speeds.
The focus on FP16 is interesting, though for iOS it may be misplaced. These half-precision floating point operations are an excellent way to conserve bandwidth and power by not firing up more expensive FP32 ALUs, but the tradeoff is that the numbers they work with aren’t nearly as precise, hence their use has to be carefully planned. In practice what you will find is that while FP16 operations do see some use, they are by no means the predominant type of floating point GPU operation used, so the FP16 increase is a 33% increase only in the cases where performance is being constrained by the GPU’s FP16 performance.
FP32 performance meanwhile remains unchanged. Each USC pipeline contains two such ALUs, for up to four FP32 FLOPS per clock, or to use our typical metric, 128 MADs (Multiply-Adds) per clock.
The rest of Series6XT’s optimizations take place at the front and back ends, where geometry processing and pixel fill take place respectively. Imagination has not told us exactly what they have done here, but both these areas have been targeted to improve sustained polygon rates and pixel fillrate performance. These more generic optimizations stand to be more applicable to general performance, though by how much we cannot say.
One final optimization we want to point out for Series6XT is that Imagination has made some additional under-the-hood changes to improve GPU compute performance. We have not talked about GPU compute on iOS devices thus far, as until now Apple has not exposed any APIs suitable for it (e.g. OpenCL is not available on iOS). With iOS8 Apple is releasing their Metal API, which is robust enough to be used for both graphics and now compute. How developers put this capability to use remains to be seen, but GX6450 should perform even better than G6430.
|Mobile SoC GPU Comparison|
|PowerVR SGX 543MP2||PowerVR SGX 543MP3||PowerVR SGX 543MP4||PowerVR SGX 554MP4||PowerVR G6430||PowerVR GX6450|
|Used In||iPad 2/iPhone 4S||iPhone 5||iPad 3||iPad 4||iPad Air/iPhone 5s||iPhone 6/iPhone 6Plus|
|# of SIMDs||8||12||16||32||4||4|
|MADs per SIMD||4||4||4||4||32||32|
|GFLOPS @ 300MHz||19.2 GFLOPS||28.8 GFLOPS||38.4 GFLOPS||76.8 GFLOPS||76.8 GFLOPS||76.8 GFLOPS|
The one wildcard when talking about performance here is going to be clock speeds. Apple doesn’t expose these and they aren’t easy to test for (yet), though in the long term Metal offers some interesting possibilities for nailing that down, or at least getting a better idea of relative clock speeds.
In any case, we’ll take a look at our GPU benchmarks in depth in a bit, but overall GPU performance compared to A7 and its G6430 is consistently better, but the exact performance gain will depend on the test at hand. Some tests will come very close to reaching 50% while others will be just 15-20%. The dependent factor generally seems to be whether the test is ALU-bound or not; because the USC has not changed significantly from G6430 to GX6450 outside of those additional FP16 ALUs, tests that hit the FP32 ALUs in particular show less of an improvement. Otherwise more balanced tests (or at least tests more defined by pixel fillrate performance) can show greater gains. In general we should be looking at a 30-35% performance improvement.
Why Four Cores?
One thing that admittedly surprised us in the revelation that A8 was using a 4-core PowerVR design was that we figured a 6-core design would be a shoe-in for A8, especially since Apple was on the receiving end of the density improvements from TSMC’s 20nm process. But upon further reflection an additional two cores is likely more than Apple needed nor wanted.
The biggest factor here is that coming from G6430 in the A7, performance has seen a solid improvement despite sticking to only four GPU cores. Due to the combination of performance improvements from the Series6XT architecture and any clock speed increases from Apple, A8 gets quite a bit more GPU performance to play with. The increased resolution of the iPhone 6 screen in turn requires more performance if Apple wants to keep native resolution performance from significantly regressing, which GX6450 is capable of delivering on. Never mind the fact that G6430 also drove the iPad Air and its much larger 2048x1536 pixel display.
|PowerVR Series6/6XT "Rogue"|
|GPU||# of Clusters||# of FP32 Ops per Cluster||Total FP32 Ops||Optimization|
These performance improvements in Series6XT have a cost as well, and that cost is suitably reflected in the estimated die sizes for each GPU. The G6430 was 22.1mm2 on the 28nm A7, while the GX6450 is 19.1mm2 on A8. Though GX6450 is smaller overall, it’s nowhere near the roughly 11.1mm2 a pure and perfect die shrink of G6430 would occupy. Limited area scaling aside, GX6450’s additional functionality and additional performance requires more transistors, and at the end of the day Apple doesn’t see a significantly smaller GPU because of this. In other words, the upgrade from G6430 to GX6450 has delivered much of the performance (and consumed much of the die space) we initially expected to be allocated to a 6-core GPU.
Overall the choice of GX6450 seems to be one of picking the GPU best for a phone, which is an area the G6430 proved effective with A7. As a step below Imagination’s 6-core PowerVR designs, GX6450 delivers a better balance between performance and power than a larger GPU would, which in turn is clearly a benefit to Apple. On the other hand this means A8 is not going to have the GPU performance to compete with the fastest SoCs specifically designed for tablets, though what this could mean for the obligatory iPad update remains to be seen.
Post Your CommentPlease log in or sign up to comment.
View All Comments
thrasher32 - Tuesday, October 14, 2014 - linkThat must be some really good crack there chief
GerryS - Wednesday, October 1, 2014 - linkAbsolutely. If it can't be built into the price of the product, there's no incentive to innovate, at all.
perpetualdark - Friday, October 3, 2014 - linkNot true, you innovate to stay in the game, not to increase your price point. Part of the "innovation" of the android flagships has been their ability to increase technology, form, and function while reducing or maintaining costs. Both the M8 and the S5 were selling for $99 on contract within a month of launch (by Verizon). Apple might have sold a lot of phones in this launch, but that was mostly due to the fact that there hasn't been an "innovation" in several years, and very little reason to buy an Apple product for at least 2 generations. Just keep watching to see how sales hold up after the initial storm is passed. In a few months when you can buy an S5 or M8 for $99 on contract, or an iPhone for $299, which do you think will sell better? And in 6 months, both companies will have the next gen of flagship out, with superior specs across the board and will launch at the same price as Apple, because the iphone 6 will STILL be $299.
bigstrudel - Tuesday, September 30, 2014 - linkSamsung uses Off-the-shelf SoC's for every flagship device outside of Korea. Nothing impressive about that.
techconc - Thursday, October 2, 2014 - link@danbob999 - Samsung's SoC designs are basically equivalent to Apple's early A4 and A5 work. They essentially just use off the shelf reference designs and put them together to meet their own specifications. Yes, there is some work involved with doing that, but to date, this hasn't been a competitive advantage for Samsung like it has for Apple. In fact, Samsung ends up using Qualcomm chips for a very large percentage for their devices. Likewise, putting them in the same league as what Apple, Qualcomm or even nVidia is doing isn't quite right. They're not in the same league design wise.
Samsung attempts to add layers of customization (Touchwiz, etc.) on top of Android, but it just feels like a clumsy layer on top and ends up dropping performance and resources for the device overall. Such customizations are no substitute for writing your own OS and controlling the entire technology stack. That's why a Samsung phone will always feel clumsy as compared to an iPhone. Samsung would have to to the Tizen route to attempt to compete on that level.
Chaser - Wednesday, October 1, 2014 - linkNow this is amusing. The OS hasn't changed since it launch except for, wait for it: pull down notifications! Amazing. But seriously its the same floating blobs that sit in rows on a screen. Designed for teenagers and grandparents in mind.
techconc - Thursday, October 2, 2014 - link@Chaser - Thanks for sharing your ...wait for it... ignorance on OS design and what's actually changed over the years. It should suffice to say that you clearly don't know what you're talking about.
shm224 - Thursday, October 2, 2014 - link@techconc : Sure, would you mind giving us some examples of such "changes" in iOS?
techconc - Monday, October 6, 2014 - link@shm224 - LOL! Not interested in doing a commercial for Apple and the listing surely wouldn't fit in a forum post. Google is your friend... If you're really interested, you can start with something like the Wikipedia entry for iOS and of course consult the release notes for each iOS release on Apple's developer site.
michael2k - Thursday, October 2, 2014 - linkWhat? It gained an app store, popup notifications, printing, multitasking, search, pull down notifications, pull up settings, folders, multiple homescreens, enhanced notifications (reply, dismiss, widgets), and file sharing.