Jeff's MCAD Blogging
Jeffrey Rowe has more than 40 years of experience in all aspects of industrial design, mechanical engineering, and manufacturing. On the publishing side, he has written well over 1,000 articles for CAD, CAM, CAE, and other technical publications, as well as consulting in many capacities in the … More »
NVIDIA’s AI Computer Drives AVs
October 19th, 2017 by Jeff Rowe
This week NVIDIA unveiled what it claims to be the world’s first artificial intelligence computer designed specifically to “drive” fully autonomous vehicles.
The new system, codenamed Pegasus, brings the NVIDIA® DRIVE™ PX AI computing platform for handling Level 5 driverless vehicles (Level 5 is ”steering wheel optional.” In other words, no human intervention is required, for example, a robotic taxi). NVIDIA DRIVE PX Pegasus can perform over 320 trillion operations per second — more than 10x the performance of its predecessor, NVIDIA DRIVE PX 2.
NVIDIA DRIVE PX Pegasus is intended to help make a new class of vehicles possible that can operate without a driver — fully autonomous vehicles without steering wheels, pedals, or mirrors, and interiors that feel more like a living room or office than a vehicle. They will arrive on demand to safely take passengers to their destinations, bringing mobility to everyone, including the elderly and disabled.
One of the driving forces behind autonomous vehicles is to recapture millions of hours of lost time that could be used by “drivers” (really passengers) to work, play, eat or sleep on their daily commutes. Theoretically, countless lives could be saved by vehicles that are never fatigued, impaired, or distracted — increasing road safety, reducing congestion, and possibly freeing up land currently used for parking lots.
Of the 225 partners developing on the NVIDIA DRIVE PX platform, more than 25 are developing fully autonomous robotaxis using NVIDIA CUDA GPUs. Today, their trunks resemble small data centers, loaded with racks of computers with server-class NVIDIA GPUs running deep learning, computer vision and parallel computing algorithms. Their size, power demands and cost make them impractical for production vehicles.
NVIDIA AI Vehicle Demonstration
The computational requirements of robotaxis are enormous — perceiving the world through high-resolution, 360-degree surround cameras and lidars, localizing the vehicle within centimeter accuracy, tracking vehicles and people around the car, and planning a safe and comfortable path to the destination. All this processing must be done with multiple levels of redundancy to ensure the highest level of safety. The computing demands of driverless vehicles are easily 50 to 100 times more intensive than the most advanced cars today with human drivers.
“Creating a fully self-driving car is one of society’s most important endeavors — and one of the most challenging to deliver,” said Jensen Huang, NVIDIA founder and CEO. “The breakthrough AI computing performance and efficiency of Pegasus is crucial for the industry to realize this vision.
“Driverless cars will enable new ride- and car-sharing services. New types of cars will be invented, resembling offices, living rooms or hotel rooms on wheels. Travelers will simply order up the type of vehicle they want based on their destination and activities planned along the way. The future of society will be reshaped,” he said.
Virtually all carmakers, transportation as a service companies, as well as startups are using NVIDIA AI in the development of Level 5 vehicles.
“Today dozens of companies are racing to develop robotaxis, but they are still gated by the massive computation needs of a truly driverless car,” said Luca De Ambroggi, senior principal automotive analyst at IHS Markit. “The new NVIDIA DRIVE PX Pegasus shows the path to production for the automakers, startups and automotive ecosystem working to deliver this amazing vision.”
Pegasus is designed for ASIL D certification — the industry’s highest safety level — with automotive inputs/outputs, including CAN (controller area network), Flexray, 16 dedicated high-speed sensor inputs for camera, radar, lidar and ultrasonics, plus multiple 10Gbit Ethernet connectors. Its combined memory bandwidth exceeds 1 terabyte per second.
NVIDIA Self-Driving Car Demo at CES 2017
The phrase “artificial intelligence” covers a lot of ground, united mainly by the fact that they involve complex inputs and outputs that are difficult to compute (or even check for correctness when supplied). One of the most interesting such areas is sensor-controlled behavior, in which a machine , such as a vehicle reacts in the real world using information gathered from sensors such as sonars and cameras.
The NVIDIA DRIVE PX platform scales from a single mobile processor configuration delivering Level 2+/Level 3 capabilities to a combination of multiple mobile processors and discrete GPUs for full Level 5. These configurations run on a single, open software architecture. This enables automakers and tier 1 suppliers to move from development into production for a wide range of self-driving solutions — from AutoCruise on the highway, to AutoChauffeur for point-to-point travel, to Pegasus for a fully autonomous vehicle.
NVIDIA DRIVE PX is part of a broad family of NVIDIA AI computing solutions. Data scientists who train their deep neural networks in the data center on theNVIDIA DGX-1™ AI supercomputer can seamlessly run on NVIDIA DRIVE PX inside the vehicle. The unified architecture enables the same NVIDIA DRIVE software algorithms, libraries and tools that run in the data center also perform inferencing in the car.
This cloud-to-car approach enables cars to receive over-the-air updates to add new features and capabilities throughout the life of a vehicle.
CPU vs GPU
GPU architectures have their roots in basic graphical rendering operations, such as shading. In 1999, NVIDIA introduced the GeForce 256, often referred to as the world’s first GPU – the specialized circuits, which can be built into a video card or on a motherboard to optimize computer memory for accelerating rendering and newer applications, such as AI.
A big advantage of GPUs are their superior processor-to-memory bandwidth. As a result, the relative processor-to-memory bandwidth advantage transfers directly to superior application performance. The key is that GPUs provide greater floating-point operations per second (FLOPs) using fewer watts of electricity per computational operation.
GPUs deliver superior performance and better architectural support for neural networks. The performance advantages of GPUs on neural nets are transferred onto an increasingly broad variety of applications essential for training neural nets to support emerging applications, such as self-driving vehicles.
At this time, GPU technology is advancing far faster than that of conventional CPUs.
GPU-accelerated computing has now grown into a mainstream movement supported by the latest operating systems from Apple and Microsoft. The reason for the wide and mainstream acceptance is that the GPU is a computational powerhouse, and its capabilities are growing faster than those of the x86 CPU.
As GPU hardware becomes increasingly general-purpose, it is quickly outgrowing the traditional, constrained GPU-as-coprocessor programming model.
While GPU technology is advancing quickly, several challenges remain. For example, programming GPUs is still relatively difficult, and that difficulty is only compounded when these devices are assembled in multi-GPU clusters.
Another challenge is how to better integrate GPUs with CPU/GPUs, as these two types of processors are not often integrated together, and they usually do not have high bandwidth communication between the two. This translates into a limited number of applications and capabilities that run well on these systems.
“The CPU (central processing unit) has often been called the brains of the PC. But increasingly, that brain continues to be enhanced by another part of the PC – the GPU (graphics processing unit), which is its soul”
— Source: NVIDIA from an advertisement dated 2009.
The GPU is in a class by itself – it goes far beyond basic graphics controller functions, and is a programmable and powerful computational device in its own right.
The unique capabilities of GPUs have been described in the following way: “GPUs are optimized for taking huge batches of data and performing the same operation over and over very quickly, unlike PC microprocessors, which tend to skip all over the place.”
Architecturally, the CPU is composed of just few cores with lots of cache memory that can handle a few software threads at a time. In contrast, a GPU is composed of hundreds of cores that can handle thousands of threads simultaneously. The ability of a GPU with 100+ cores to process thousands of threads can accelerate some software by 100x over a CPU alone. What’s more, the GPU achieves this acceleration while being more power- and cost-efficient than a CPU.
The combination of a CPU with a GPU can deliver the best value of system performance, price, and power.
GPUs, then, are a likely gateway to the future of computing, and GPU technology is an important part of pushing the limits and potential of computing — much more than just displaying pretty pictures — as is being evidenced in their AI application in autonomous vehicles.