NVIDIA DRIVE ® OS 是参考操作系统和相关软件堆栈,专为在基于DRIVE AGX 的硬件上开发和部署自动驾驶汽车应用程序而设计。 NVIDIA DRIVE OS 为安全关键型应用程序提供安全可靠的执行环境,并提供安全启动、安全服务、防火墙和无线 (OTA) 更新等服务。

该自动驾驶汽车 (AV) 基础软件堆栈由嵌入式实时操作系统 (RTOS)、NVIDIA Hypervisor、 NVIDIA ® CUDA ® 库、 NVIDIA TensorRT™ 和其他经过优化的组件组成,可提供对 DRIVE AGX 硬件加速引擎的直接访问。

NVIDIA DRIVE OS 软件开发套件 (SDK) 包含跨 CPU、GPU 和其他 DRIVE AGX 硬件加速引擎构建、调试、分析和部署自动驾驶汽车和自动驾驶汽车应用程序所需的所有软件、库和工具。这些开发工具为并行计算和深度学习开发提供了优化的工作流程。

为了最大限度地提高生产力,NVIDIA DRIVE OS SDK 利用行业标准工具、技术和 API 来提供熟悉且舒适的高生产力开发环境。

DRIVE OS QNX for Safety 利用 Blackberry QNX OS for Safety 来满足功能安全 (FuSa) 要求。

汽车开发人员图

了解有关 NVIDIA DRIVE 安全的更多信息


具体技术


DriveWorks

NVIDIA ® DriveWorks SDK 通过提供利用 NVIDIA DRIVE 平台计算能力的综合模块库、开发人员工具和参考应用程序,使开发人员能够实施自动驾驶汽车 (AV) 解决方案。它旨在实现计算机的全部吞吐量限制,从而实现实时自动驾驶应用。

涉及技术:

  • 高效利用 NVIDIA DRIVE 平台内的众多处理器。
  • 优化硬件引擎之间的数据通信格式。
  • 最小化数据副本。
  • 最有效算法的实现和利用。

CUDA

CUDA® 是 NVIDIA 开发的并行计算平台和编程模型,用于 GPU 上的通用计算。 CUDA 支持 aarch64(armv8-A 架构中引入的 64 位状态)平台,并且通过可并行计算工作负载,开发人员可以在 NVIDIA DRIVE AGX 上实现显着的加速。


TensorRT

NVIDIA TensorRT™ 是一个高性能深度学习推理平台。它包括硬件感知的深度学习推理优化器和运行时,可为深度学习推理应用程序提供低延迟和高吞吐量。在 NVIDIA DRIVE AGX 上, TensorRT 针对 Xavier SoC 上的专用深度学习加速器 (DLA)。

自动驾驶车辆非常复杂,需要快速准确地感知周围环境才能实时做出决策。此功能需要高性能人工智能计算来实现自动驾驶所需的各种任务,包括多级传感器数据处理、障碍物检测以及交通标志和车道识别。

CUDA 和 TensorRT 的结合使车辆上运行的 DNN 能够高速处理传感器输入。这使得车辆能够实时处理来自各种传感器的数据,从而实现 4 级和 5 级自动驾驶能力,无需人类驾驶员的监督。


NvMedia

NvMedia 是一组高度优化的 API,可直接访问硬件加速的计算引擎和传感器,包括编码器/解码器、传感器输入处理、图像处理等。

NvMedia 提供以下主要优势:
  • 捕获多达 16 个相机传感器
  • 最多两个来自 Xavier ISP 硬件和原始捕获的已处理输出
  • 针对 NVIDIA 推荐的相机模块优化的专有自动曝光 (AE) 和自动白平衡 (AWB) 算法
  • 同一四/三/双 SERDES 内的异构传感器配置

NVStreams

NvStreams 是一种高效的 API,可提供对高速数据传输的访问,从而实现自动驾驶车辆所需的复杂处理工作流。

NvStreams 提供以下主要优势:
  • 在引擎及其各自的 API 之间高效共享缓冲区
  • 同步和数据流控制
  • 数据依赖性输入和输出缓冲区可用性
  • 控制依赖任务排序、互不干扰、时间同步
  • 线程内、线程间、进程间和虚拟机间

开发者工具

Nsight™ 系统

该系统范围的性能分析工具旨在可视化应用程序算法,选择最大的优化机会,并进行调整以在 DRIVE 平台上跨 CPU 和 GPU 高效扩展。

Nsight Graphics

一款独立的开发人员工具,可让您调试、分析和导出使用 Direct3D(11、12、DXR)、Vulkan(1.1、NV Vulkan 光线追踪扩展)、OpenGL、OpenVR 和 Oculus SDK 构建的帧。


Nsight Eclipse 版

Nsight IDE可用于开发CUDA应用程序并为异构平台创建​​同构开发环境。它使用户能够无缝调试 CPU 和 CUDA 代码、分析 CUDA 内核并有效重构代码以利用 GPU。

Nsight Compute

Nsight Compute是一款适用于 CUDA 应用程序的交互式内核分析器,可通过用户界面和命令行工具提供详细的性能指标和 API 调试。此外,其基线功能允许用户在工具内比较结果。


CUDA GDB

CUDA-GDB 提供基于控制台的调试界面,可在本地系统或通过 Telnet 或 SSH 访问的远程系统上的命令行使用。它提供了无缝的调试体验,可同时调试应用程序的 CPU 和 GPU 部分。

CUDA 内存检查

CUDA-MEMCHECK 检测 GPU 代码中内存访问错误的来源和原因,允许快速定位错误并报告运行时执行错误,以识别应用程序运行时可能导致“未指定的启动失败”错误的情况。


CUPTI

NVIDIA CUDA Profiler Tools Interface (CUPTI) 是一个动态库,可用于创建针对 CUDA 应用程序的分析和跟踪工具。 CUPTI提供了一组针对 ISV 创建分析器和其他性能优化工具的 API。


为 DRIVE OS 开发软件

DRIVE OS提供多种开发路径,包括桌面和嵌入式 Linux 以及嵌入式 QNX。 DRIVE OS Linux 和 DRIVE OS QNX SDK 主要用于使用上面列出的开发工具套件进行开发和原型设计。 DRIVE OS QNX for Safety 利用 Blackberry QNX for Safety 提供经过安全认证的生产。请参阅 NVIDIA DRIVE Safety 了解更多信息

下图展示了 DRIVE OS开发流程:



资源

硬件

了解 NVIDIA DRIVE硬件,包括 Hyperion 参考架构、 DRIVE AGX Orin DevKit 传感器和配件

了解更多

软件

下载 DRIVE OS SDK、NVIDIA 的参考操作系统和相关软件堆栈,包括 DriveWorks、CUDA、 cuDNN 和 TensorRT。

了解更多

文档

查看 DRIVE 硬件和软件文档。详细了解 DRIVE AGX DevKit 附带的内容、如何在车辆中安装该平台以及 DRIVE OS SDK 提供的内容。

了解更多

支持

在我们的开发者论坛中提出问题并获得答案。



了解更多