One of the most interesting topics in the automotive industry today is the Advanced Driving Assistance System (ADAS), which can help drivers deal with potential problems in many ways. They can provide visual and auditory warnings for drivers, as well as control brakes, accelerators and steering devices to keep cars away from danger.
ADAS systems rely on high-quality data from more and more discrete sensors, such as LiDAR, which uses pulsed lasers to measure distances from target objects, and RADAR, which is similar to LiDAR, but RADAR uses radio waves instead of laser and infrared (IR) camera systems.
All of these make ADAS better aware of the surrounding environment and improve its ability to assist driving.
GPU in ADAS
In the central electronic control unit (ECU) of a car, you can find one or more large silicon devices, including a multi-core central processing unit (CPU), a graphics processing unit (GPU), a memory subsystem that provides real-time processing for sensor data, and a series of other cores, such as I/O, peripheral connection, dedicated video and DSP.
GPU is highly parallel and throughput-oriented, which makes it very suitable for ADAS applications and can meet many challenges. It is like a "turbocharged" multiplier cumulative engine, and is based on neural network type algorithm. Therefore, there is no doubt that many leading ADAS suppliers are beginning to take advantage of the capabilities and performance of embedded GPU to improve the functions and performance required by automobiles.
Historically, GPU has played a more traditional role in the technical composition of automobiles, that is, driving displays. However, consumers are increasingly expecting their new cars to offer the same cutting-edge technology as smartphones or tablets. Therefore, we see that applications are changing to digital dashboards with multiple high-resolution screens. At present, 1080p is very common in mid-range cars, and more and more 4K screens are designated for luxury cars and administrative vehicles.
These larger, higher resolution and faster response screens enable drivers and passengers to interact with their cars in a more natural and intuitive way. Therefore, for automotive OEM, it is necessary to shift from a small CPU or microcontroller to a more powerful GPU to drive these screens. In view of this, embedded GPU has made remarkable progress in this field.
Not only graphics processing, ADAS puts forward more and higher requirements for GPU, which are completely different from the traditional rendering function. If we look at computer graphics processing, we will find that the use of computational shaders is now the standard for providing advanced graphical effects. Essentially, the GPU runs a small computer program that defines the colors and shadows of millions of pixels on the screen. ADAS platform can use this GPU computing function to process and analyze sensor data in real time, not just graphics processing.
In fact, not only sensors, but also traditional cameras can provide very convenient data for GPU. Image processing is GPU's housekeeping ability, so almost any kind of dense parallel computing problem can be solved by GPU. From this point of view, GPU is the best choice for such applications.
GPU virtualization for automobiles
In the future, the performance level of ADAS platform will need more and more GPUs, which will inevitably increase the manufacturing cost. To cope with this situation, platform vendors hope to increase the value of GPU by using it to perform multiple workloads in the car. Only if GPU has rock-solid support for hardware accelerated virtualization can this goal be achieved. Virtualization allows GPUs to run multiple operational contexts, such as app / OS sets, without any knowledge of each other and without any interaction in any way.
This is very important. Imagine that the problem with dashboard software can affect the correct operation of driver assistance system. This can be catastrophic and must be avoided at all costs. The ability to have a protected, virtualized execution context supported by GPU ensures that this does not happen.
Virtualization works best when hardware supports completely separate managed address spaces for each context and restarts or refreshes contexts with abnormal behavior. This isolation is key to allowing cooperative use of GPUs, while keeping critical software (such as driver assistance systems) unaffected or destroyed by any other operation.
New sources of income
From the perspective of automotive OEM, virtualization provides additional benefits, enabling safer environments to provide a variety of applications and services without fear that electronic systems will be replaced by rogue software. This also means that compared with the traditional hardware boxes of fixed software for information entertainment and engine management systems, automobiles have become flexible and configurable software platforms that can be updated by wireless means. It will enable OEMs to easily exchange payment services without interrupting the operation of their vehicles, thus providing them with potential new sources of income.
Application of GPU in ADAS
Next, we take PowerVR as an example to analyze the application and function of GPU in ADAS.
It is reported that the core computing architecture of the new PowerVR GPU is designed from the beginning, aiming at providing fast performance and low power consumption, in order to reduce the accuracy of the calculation, especially the semi-precision floating point (FP16). Running with lower accuracy (usually classified as less than 32 bits) is one of the best ways to reduce embedded GPU power consumption without significantly reducing accuracy. We design the FP16 hardware as a data path separate from the full precision FP32 hardware.
Although shared data path design is common, because they are relatively simple in many aspects, each device has its own hardware, which enables us to provide the best power consumption and efficiency, because each data path in the design accepts less damage and cannot do what needs to be done.
As we have described, virtualization enables all contexts running on the GPU to run in isolation from each other to ensure that all ADAS functions run safely, and because of hardware support, it can perform this operation at the required performance level. Hardware-supported virtualization is a key advantage of PowerVR.
In addition, there is a toolkit to support the development, optimization and deployment of neural networks across GPUs and AI accelerators. It is a unified tool chain that enables developers to adopt multiple frameworks and network types and convert them into computing engines on GPU. It can be deployed on PowerVR Series 2NX and 3NX neural network accelerators or used in combination.
Therefore, ADAS platform designers can use GPU as a first-class component in the overall system architecture of automobiles, while allowing system vendors to use GPU to speed up on-board information entertainment software to dilute their investment in safety and availability.
In summary, the design of GPU micro-architecture has ideal power efficiency and memory bandwidth. It is a balanced GPU design, which can well meet the technical requirements of automobiles and is very suitable for the next generation of ADAS applications. In particular, it provides excellent performance for large and high resolution displays that interact with drivers and passengers.
Looking forward to the future
The inherent characteristics and advantages of GPU coincide with the requirements of ADAS, especially in the field of image analysis and parallel signal processing. As ADAS systems become more and more common in vehicles, the importance of using GPU will also increase. In other words, systems without GPU and with specific function accelerators will be out of date.
At present and in the foreseeable future, it is the GPU, not the CPU, that can provide the required computing power to enable future cars to better understand the surrounding environment so that they can run as smoothly and safely as we expected.