When it comes to smartphone graphics, most Android devices use graphics processing units (GPUs) from either Qualcomm (Adreno) or Arm (Mali), but as Yoda would say, there is another.

You maybe have noticed the name PowerVR in relation to some Android processors. PowerVR is a GPU series from Imagination Technologies. The MediaTek Helio P90 processor uses the PowerVR GM9446, the MediaTek Helio X30 uses the PowerVR 7XTP-MT4, and the Helio P22 uses the PowerVR GE8320. Other MediaTek processors including the Helio P35, the Helio X10, and the MT8183 (found in the Amazon Kindle Fire HD) also uses PowerVR GPUs.

It’s not just MediaTek, either. The Unisoc SC9861G-IA uses the PowerVR GT7200. Intel’s Atom line has several models with PowerVR GPUs. PowerVR can also be found in processors from Allwinner and Rockchip.

The elephant in the room is Apple. Until recently Apple incorporated Imagination’s GPUs into its A-series processors. The Apple A4 processor, found in the iPhone 4, used the PowerVR SGX 535. The A5 and the A6 used the PowerVR SGX543, the A7 used the PowerVR G6430, the A8 used the GX6450, and the A9 used the GT7600. And that is where it all ended rather abruptly. While the A10 probably used some kind of custom hybrid GPU, Apple’s relationship with Imagination changed drastically. The result was an upheaval for the company at a commercial level. There were changes at the top (CEO and CFO), the company sold its MIPS CPU division, and eventually the remainder of the company was acquired by Canyon Bridge, a China-focused private equity fund.

The elephant in the room is Apple.

However, PowerVR GPUs didn’t die, and it potentially has a bright future. GPUs are found in more than just smartphones. All manner of devices from set-top boxes, smart TVs, car infotainment systems, and medical equipment, all use GPUs. Secondly, the continued use of PowerVR GPUs in new processors, like the Helio P90, means that SoC makers still consider the PowerVR GPU as a viable option. Thirdly, the current GPU landscape is changing, and if Imagination is able to ride the wave then it could come out on top. More about that later.

Naming

Naming things is always hard, but some companies are better than others. The naming schemes of Qualcomm’s and Arm’s GPU are relatively straightforward. The naming scheme of Imagination GPU is a bit more nuanced!

The first key piece of information is that the company currently has two major GPU architectures: Rogue and Furian. The first Rogue-based GPUs were released in 2012 with the PowerVR Series6 GPUs. The Rogue architecture has been tweaked and developed over the years and served as the foundation for all of Imaginations GPUs up to and including 2017’s Series9XE and Series9XM GPUs.

PowerVR Series9 GPU architecture overview

Furian is a newer GPU architecture, Imagination’s first architecture revamp since 2012. There are two Furian GPUs at the moment, the PowerVR GT8525 and the PowerVR GT8540. Both are part of the PowerVR Series8XT range, which is a little confusing since the Series9XE and XM GPUs use the older Rogue architecture, as does the Series8XE and Series8XE Plus. No announced mobile processors use a Furian GPU currently.

Understanding the model numbers

PowerVR GPUs generally use four-digit model numbers. The GPU in the Helio P90 is the GM9446, whereas the Helio P22 uses the GE8320. What do all those numbers mean?

The first digit is the “series” number. So all processors in the Series8XE and XE Plus range start with an 8. The processors in the Series9 range start with a nine, and so on.

The second digit indicates how many pixels are processed per clock cycle. Generally, the specified number is half of the actual pixel rate. So “4” means eight pixels per clock, “2” means four pixel pers clock, and “1” means two pixels per clock.

The company currently has two major GPU architectures: Rogue and Furian.

The third digit is an indication of the processing power of the GPU. Some GPU makers quote the number of “cores” in the GPU. The term “core” is open to some creative accounting and also some technical handwaving, meaning that what one vendor means by a “core” is different from another. I will dive into this subject a bit deeper in a moment, but the higher the third digit the higher the performance. The rates are different in every generation, but for the Series9 GPUs:

  • 1 = 64 FP16 FLOPs/Clock
  • 2 = 128 FP16 FLOPs/Clock
  • 4 = 256 FP16 FLOPs/Clock

PowerVR GPU pixels per clock vs compute series9

The last digit is a feature flag. For example, the GE8322 (note the two at the end) supports PVRIC frame buffer compression (PowerVR’s lossless compression and decompression algorithm), whereas the GE8340 (note the zero), doesn’t support it.

Cores, execution units, ALUs

A long time ago, in a universe far, far away, GPUs used two different types of shaders. The Vertex shaders, which were responsible for performing transformations on a list of points (vertices) from the 3D world to the 2D world of a flat screen; and Pixel shaders, which calculated the color of a pixel based on lighting and texture information. These shaders were programmable and generally there were more Pixel shaders than Vertex shaders.

The shaders become known as cores, and with the advent of the Unified Shader Model, where a shader could act as a Vertex shader or a Pixel shader, the term core became even more popular.

As GPU designs advanced, the shape of these cores started to morph. Previously a single shader core contained all of the necessary logic, including the scheduling, execution, and dispatch of the instructions running on the shader (because they are programmable). To increase throughput GPU designers started to increase certain parts of the shader design, making them “fatter” in the middle. This could double or quadruple the throughput of a shader core, but now the question becomes whether to have one core with four execution units or four cores.

In PowerVR GPUs, the bits that do the actual math are called Arithmetic Logic Unit (ALUs). They come in 16bit and 32bit flavors and are grouped in clusters.

PowerVR GX6650

 

The PowerVR GX6650 has six clusters with a total of 192 32bit (FP32) ALU cores, should it be called a 192 core GPU? Maybe Imagination’s naming scheme is the best approach after all!

The GPU landscape is changing

GPUs used to have one job and one job only, 3D graphics, but the times they are a-changin’. GPUs now handle all kinds of highly parallel tasks in scientific computing, and machine learning. Most of that still happens on supercomputers or on machines built with multiple high-end graphics cards. However, it is starting to trickle down to mobile GPUs. Modern flagship smartphones can run neural network inference models, for things like object recognition in the camera app. Android itself now has a neural network API which can use the GPU, if the right drivers are available.

PowerVR GPUs are part of these changing landscape and are compatible with OpenCL and Android’s neural network HAL. If running a neural network on the GPU isn’t enough then Imagination also has a neural network accelerator which supports Android’s neural network HAL, Caffe, and TensorFlow.

And then there is Raytracing.

Then there is raytracing. Nvidia made headlines recently with its desktop GPUs capable of performing real-time raytracing. As a refresher, raytracing is a technique that “traces” the path of light rays through a 3D environment. It aims to closely mimic the actual physics of light. The result is highly realistic lighting, shadows, reflection, and refraction effects.

Imagination has been a leader in hardware-based raytracing for years and while it isn’t yet in the company’s mobile processors, it is certainly gaining ground on the desktop. Imagination doesn’t currently sell raytracing graphics cards for desktops, but it has produced some proof-of-concept mobile hardware including the PowerVR GR6500.

A 3D car model rendered using PowerVR hardware ray tracing

You might be wondering how a company that doesn’t sell any actual raytracing hardware could be a “leader in hardware-based raytracing.” The answer is intellectual property. Imagination doesn’t make chips, all of its GPU technology is licensed by chip makers, like MediaTek, and incorporated in mobile processors along with a CPU and other parts.

The same is probably true of its raytracing hardware techniques and technology. Imagination has made no public announcements about who licenses its raytracing tech, but we can speculate!

The mobile GPU market is fluid. Contracts are won and contracts are lost. Mobile processor makers are always looking for an edge over their competition in terms of performance, power efficiency, cost, and features. While Imagination and Apple have a different relationship today, other chip makers need GPU parts, including MediaTek. Beyond MediaTek there are other possibilities, not only in mobile, but also in other markets like automotive, home entertainment, and medical.

Will Samsung ever move away from its current GPU supplier? What about Huawei? Is there still a place for PowerVR alongside Intel’s tablet CPUs? What about Unisoc or Xiaomi’s Pinecone, or even the long-rumored next iteration of LG’s NUCLUN processor?

Wrap-up

PowerVR GPUs are the Android ecosystem’s alternative GPU option after the offerings from Qualcomm and Arm. We have yet to see a Furian-based mobile GPU in an actual chip and it would be interesting to see one. With the advent of mobile machine learning and the promises of possible raytracing technology in mobile processors, we would all be wise to keep an eye on Imagination, because we may all be surprised to see where PowerVR GPUs pop up next!