(Contributed content) The biggest trend in advanced driver assistance systems (ADAS) today is the augmentation of the systems with higher-quality sensor data from an increasing number of discrete sensors. This allows the system to better interpret the environment and therefore improve its performance and ability to help the driver.

Increasing the amount of input data comes at an obvious cost: working on it quickly enough that it makes a meaningful difference to the system's real-time response and capabilities.

Rys SommefeldtRys SommefeldtThe graphics processing unit (GPU) is an inherently excellent fit for solving this challenge, given its highly parallel, throughput-oriented nature. Therefore, it's no wonder that today's leading ADAS vendors are starting to exploit the ability and performance of embedded GPUs in order to make generational leaps in capabilities and performance over what's available in cars today.

Historically, the GPU finds itself in more traditional spots in a car's technical makeup: driving displays. Consumers are increasingly expectant that new cars keep pace with technology at the same rate as devices like the smartphone.

Bigger, higher-resolution and more responsive screens are at the heart of that, allowing the driver and passengers to interact with the car in more modern ways, with the experience they might expect from a smartphone. It is therefore a necessity –not a nice to have – to move from small, underpowered CPUs or microcontrollers to more powerful GPUs to drive those screens. Given this, embedded GPUs have made obvious inroads in this area.

ADAS asks different questions of the GPU, though, requiring something completely different than traditional rendering. For example, ADAS and autonomous driving platforms will use GPUs to analyse sensor data in order to react to it quickly.

And it's not just from sensors but also cameras that give the GPU data it's traditionally been happy to work on. Image processing is a natural problem domain for the GPU, and almost any kind of computationally dense parallel computation is also a good fit. Future ADAS and autonomous driving platforms that don’t utilize the GPU and function-specific accelerators to their advantage will be quickly left behind.

The level of performance needed in future ADAS platforms necessitates increasingly larger GPUs, which come at an increasing manufacturing cost. Platform vendors will look to naturally share that cost, and thus the GPU, with other systems in the car. That's only possible if the GPU has rock-solid support for hardware accelerated virtualization. Virtualization lets the GPU be shared by multiple operating contexts, without any of those contexts being aware of each other (and therefore able to affect each other).

Imagine a situation where a problem with the dashboard software was able to affect the correct operation of the driver assistance system. Being able to have protected, virtualized execution contexts supported by the GPU is critical to being able to share that expensive investment in a safety-critical manner.

Virtualization works by having hardware support for completely separate managed address spaces for each context to use, and by also having hardware support for restarting or evicting a context that's misbehaving. That isolation is key to allowing cooperative use of the GPU while keeping critical software, like driver assistance systems, from being affected by anything else.

In addition to the parallel nature of the GPU being a good fit for many of the types of problems you want to solve in a modern automobile, most GPUs today that are suitable for ADAS applications have a particular property that makes them a good fit for the machine-learning side of things: fast mixed precision computation. There are many parts of a deep neural network that can be acceptably run at lower precision than you'd expect.

Running at lower precision (where lower is usually classed as less than 32-bits) is one of the best possible things you can do for power in an embedded GPU. Or, you can keep a similar power budget to full precision and achieve higher performance. That's why it's common for GPUs to offer full-rate single precision, and double-rate half precision; power doesn't increase but performance is doubled.

There are a number of ways to achieve that, trading off area and power in the GPU design, and a multitude of approaches are taken in today's embedded GPU designs.

Imagination’s PowerVR GPUs offer a set of desirable properties for ADAS and autonomous vehicles. The core compute architecture inside today's PowerVR GPUs was designed from the ground up to offer fast performance and great power consumption for reduced-precision computation, especially half-precision floating point (F16).

It's a great fit for general graphics processing, and we leverage it in the design as a core strength when also using the GPU for non-graphics tasks like running neural networks. We've designed the F16 hardware as a separate data path from the full-precision (F32) hardware.

While shared data path designs are common since they're simpler in many ways, having discrete hardware for each allows us to offer the best possible power consumption and efficiency because each data path accepts less compromise in the design to do what it needs to do.

Modern PowerVR GPUs also support full hardware virtualization, completely isolating running contexts sharing the GPU, and providing the support needed to manage and prioritize those contexts to favor the ADAS platform architecture and how it needs to run, with the performance it needs to achieve.

That lets ADAS platform designers use the GPU as a first class component in the overall system architecture of the car, while allowing the system vendor to amortize the investment and allow the GPU to also accelerate IVI and ICE software, giving the consumer what they're looking for in those technologies.

The design of the PowerVR GPU microarchitecture, with best-in-class power efficiency and memory bandwidth usage, provides a balanced GPU design that fits well with the car's technology needs. Great performance for the systems the driver and passengers interact with, on those increasingly bigger and higher resolution displays, and with a design that lends itself almost perfectly for next-generation ADAS applications.

In particular, anything that plays to the GPU’s inherent strengths, especially in the area of image analysis or parallel signal processing, helping the car be more aware of its surroundings and operate better in more complex environments, as we move to the next generations of ADAS and autonomous vehicles.

To contact the author of this article, email GlobalSpeceditors@globalspec.com