NVIDIA JetPack SDK介绍

NVIDIA JetPack SDK

简介

NVIDIA JetPack SDK 是为Jetson模块提供动力的最全面解决方案,用于构建端到端加速的人工智能应用,大大缩短了产品上市时间。参考:JetPack SDK | NVIDIA Developer

NVIDIA JetPack 包括三个组件:

  1. Jetson Linux:这是一个板级支持包(BSP),包括引导加载程序、Linux内核、Ubuntu桌面环境、NVIDIA驱动程序、工具链等。它还包括安全特性和空中下载技术(OTA)功能。

  2. Jetson AI 栈:CUDA 加速的人工智能栈,包括一整套用于加速GPU计算、多媒体、图形和计算机视觉的库。它支持如Metropolis这样的应用程序框架,用于构建、部署和扩展视觉AI应用;Isaac用于构建高性能机器人应用;Holoscan则用于构建从边缘到云端具有实时洞察力和传感器处理能力的高性能计算应用(HPC)。

  3. Jetson平台服务:一系列准备好即用的服务,用于加速在Jetson平台上开发人工智能应用。

在这里插入图片描述

JetPack 6

JetPack 6 是有史以来最大的升级,它不仅带来了更新的内核和更新的Ubuntu根文件系统,还包括了以前在Jetson上从未有过的新型特性。JetPack 6 提供了运行任何Linux内核的灵活性,并为开发者提供了更广泛的基于Linux的发行版选择。此外,它还允许在不更新Jetson Linux BSP的情况下更新Jetson AI栈。

JetPack 6.1

新功能: JetPack 6.1 现在支持带有增强 [MAXN模式] 性能模式的全新Jetson Orin Nano超级开发者套件。这种模式将Jetson Orin Nano开发者套件的AI计算性能提升了1.7倍。更多详情请参阅我们的最新博客

所有开发者可以通过安装包含MAXN模式支持的最新SD卡镜像或使用NVIDIA SDK Manager在其现有的Jetson Orin Nano开发者套件上解锁超性能。只需在使用SDK Manager安装时选择JetPack 6.1(rev. 1)。有关详细说明,请参阅“安装JetPack”部分。安装后,从电源模式选择器中启用MAXN模式以体验增强的性能提升。有关更详细的帮助,可以参考Jetson Orin Nano开发者套件入门指南

JetPack 6.1是JetPack 6的最新生产版本。此版本包括Jetson Linux 36.4,具有Linux Kernel 5.15和基于Ubuntu 22.04的根文件系统。随JetPack 6.1打包的Jetson AI栈包括CUDA 12.6、TensorRT 10.3、cuDNN 9.3、VPI 3.2、DLA 3.1和DLFW 24.0。此外,该版本还包括一个增强的Argus库,其优化可使视觉应用的CPU利用率降低多达40%。JetPack 6.1还在Jetson Orin平台上引入了对基于固件的信任平台模块(fTPM)的支持,增强了系统的安全性。此版本支持所有NVIDIA Jetson Orin模块和开发者套件。

注意:要在Jetson Linux 36.3上使用JetPack 6.1的计算栈,请参阅NVIDIA JetPack SDK文档。

安装JetPack教程

使用SD卡镜像方法(适用于Jetson Orin Nano开发者套件)

Download for Jetson Orin Nano,您可以通过安装以下SD卡镜像为现有的Jetson Orin Nano开发者套件添加超级性能:Download for Jetson Orin Nano Super Developer Kit

  • 注意: (仅适用于通过SD卡镜像安装的情况)如果您的Jetson Orin Nano开发者套件之前运行的是JetPack 6.0或JetPack 6.1,在最终登录后执行以下命令并重启设备。这将确保[最大性能模式]在您的系统上可用。
sudo rm -rf /etc/nvpmodel.conf
  • 如果您之前在Jetson Orin Nano开发者套件上使用的是JetPack 5,并希望在不使用任何主机的情况下升级到JetPack 6,请遵循Jetson Linux文档中提供的说明。
  • 查看入门指南以获取关于如何刷新SD卡和首次启动的指示。

使用NVIDIA SDK Manager方法(适用于所有Jetson Orin开发者套件)

Download NVIDIA SDK Manager:跟随位于“使用SDK管理器安装Jetson软件”的步骤进行操作。

  • 注意: 在安装过程中选择JetPack 6.1(rev. 1)以获得增强的性能。一旦JetPack安装完成,选择MAXN模式以体验升级后的性能。

通过上述两种方法之一,您可以成功地为您的Jetson Orin Nano开发者套件安装最新版本的JetPack,并根据需要启用MAXN模式来提升性能。请确保仔细阅读相关文档和指南,以便顺利完成安装过程。

使用Debian包方法安装JetPack

JetPack可以通过运行在Jetson上的Debian包管理工具进行安装或升级。NVIDIA还提供了所有JetPack组件的运行时和开发debian元包。运行时包不包括示例和文档,而开发包则包含这些内容,适用于开发用途。用户可以在Jetson Linux之上安装完整的JetPack或仅安装运行时JetPack组件。

以下是通过Debian包方法安装JetPack的基本步骤:

  • 获取JetPack Debian包:请参考JetPack文档以获取我们托管的debian包列表的指示。

  • 安装JetPack:要在Jetson Linux 36.4上安装JetPack,您只需执行以下命令:

    apt install nvidia-jetpack
    

这将安装JetPack的所有组件,包括CUDA、TensorRT等关键库,以及依赖项。如果您只需要运行时环境而不需要开发样例和文档,上述命令足以满足您的需求。若要进行开发工作,请确保安装相应的开发debian包,这些包中包含了必要的示例代码和文档资料。

这种方法非常适合希望灵活控制其Jetson设备上安装哪些组件的用户,同时也简化了JetPack及其组件的更新过程。请务必查阅相关文档以了解更详细的安装指南和可用的软件包信息。

JetPack 6.1的关键特性

Jetson Linux

NVIDIA Jetson Linux 36.4提供了Linux内核5.15、基于UEFI的引导加载程序、基于Ubuntu 22.04的根文件系统、NVIDIA驱动程序、必要的固件、工具链等。

JetPack 6.1包含Jetson Linux 36.4,亮点如下(请参阅发行说明以获取更多详情):

  • 新功能:支持新的增强性能模式[MAXN模式],适用于Jetson Orin Nano开发者套件。
  • 升级的计算栈,包括CUDA 12.6、TensorRT 10.3、cuDNN 9.3、VPI 3.2、DLA 3.1和DLFW 24.0。
相机
  • 增强的Argus库,可将CPU利用率减少多达40%。
安全性
图形
  • 将Weston(Wayland合成器的一个参考实现)升级到版本13.0。
  • PCN 211361提供软件支持,并修复了各种安全漏洞。

Jetson平台服务

Jetson平台服务是一系列预构建和云原生软件服务及参考工作流,旨在加速Jetson上的AI应用。这些服务是模块化的、API驱动的,可以快速配置来构建生成式AI和其他边缘应用。服务涵盖了从AI服务到系统服务的15多种服务,具体包括:

  • 使用DeepStream的AI感知服务
  • 视觉语言模型(VLM)的AI推理服务
  • AI分析——处理元数据至时间序列洞察
  • 使用VST进行传感器管理和存储
  • Redis消息总线
  • API和物联网网关

为了展示这些服务的能力,还包含了以下参考工作流:

  • AI-NVR——基于AI的网络视频录像机的完整工作流程
  • 用于警告和视觉聊天的生成式AI工作流
  • 零样本检测的生成式AI工作流

注意:Jetson平台服务即将推出。

Jetson上的Linux发行版

尽管JetPack默认包含了Jetson Linux,但Jetson生态系统合作伙伴也提供了多种基于Linux的发行版:

  • Canonical Ubuntu:由Canonical提供的Ubuntu 22.04。要了解更多关于Canonical在Jetson上的提供,请参考相关网络研讨会
  • Red Hat:由Red Hat提供的Red Hat Enterprise Linux 9.4。
  • Windriver Linux:Windriver提供的商业嵌入式Linux操作系统。
  • SUSE:由SUSE提供的SUSE Linux Enterprise Server (SLES)。
  • RedHawk:由Concurrent Real-Time提供的实时Linux操作系统,适用于关键任务的硬实时应用。
  • 基于Yocto的发行版:包括来自BalenaFoundries.ioTimeSys等生态系统合作伙伴提供的各种基于Yocto的发行版和服务,它们利用了meta-tegra

TensorRT

TensorRT是一个高性能的深度学习推理运行时,用于图像分类、分割和目标检测神经网络。基于NVIDIA的并行编程模型CUDA构建,使得能够为所有深度学习框架优化推理过程。它包含一个深度学习推理优化器和运行时,可以为深度学习推理应用提供低延迟和高吞吐量。JetPack 6.1中包含TensorRT 10.3.0

DLA(深度学习加速器)

NVIDIA DLA硬件是一种针对深度学习操作的固定功能加速引擎,旨在全面硬件加速卷积神经网络,支持诸如卷积、反卷积、全连接层、激活、池化、批量归一化等多种层。

DLA软件包括DLA编译器和DLA运行时栈。离线编译器将神经网络图转换为DLA可加载的二进制文件,并可以通过NVIDIA TensorRT™调用。运行时栈包括DLA固件、内核模式驱动程序和用户模式驱动程序。JetPack 6.1中包含DLA 3.1。

cuDNN(CUDA深度神经网络库)

cuDNN为深度学习框架提供了高性能的基本操作。它为标准例程如前向和后向卷积、池化、归一化和激活层提供了高度优化的实现。JetPack 6.1中包含cuDNN 9.3.0

CUDA

CUDA工具包为C和C++开发者提供了一个全面的开发环境,用于构建GPU加速的应用程序。该工具包包括一个针对NVIDIA GPU的编译器、数学库以及调试和优化应用程序性能的工具。JetPack 6.1包含了CUDA 12.6.10

多媒体API

Jetson多媒体API包提供了底层API以支持灵活的应用程序开发:

  • 相机应用API:libargus为相机应用提供了一个低层级帧同步API,具有每帧相机参数控制、多(包括同步)相机支持和EGL流输出功能。需要ISP的RAW输出CSI相机可以与libargus或GStreamer插件一起使用,在这两种情况下都使用V4L2媒体控制器传感器驱动API。

  • 传感器驱动API:V4L2 API启用了视频解码、编码、格式转换和缩放功能。对于编码,V4L2开放了许多特性,如比特率控制、质量预设、低延迟编码、时间权衡、运动矢量图等。

计算机视觉

VPI(Vision Programming Interface)是一个软件库,它在Jetson上提供的多种硬件加速器上实现了计算机视觉/图像处理算法,如PVA(可编程视觉加速器)、GPU、NVDEC(NVIDIA解码器)、NVENC(NVIDIA编码器)、VIC(视频图像合成器)等。

JetPack 6.1包含VPI 3.2,亮点如下:

  • 新算法:
    • 支持PVA和CPU后端的AprilTag检测器和姿态估计器。
    • 动态重映射支持CUDA后端,用于通用几何变换。
    • 相比卷积高斯滤波器,递归高斯滤波器在CPU和CUDA后端上的实现对大sigma值提供了更优的性能。
  • 新增PVA后端支持的算法包括混合通道、裁剪缩放器、ORB特征检测器(仅描述符提取)、金字塔LK光流等。
  • PVA后端速度提升高达5倍。

图形

JetPack 6.1包含以下图形库:

  • Vulkan® 1.3Vulkan SC 1.0:Vulkan SC是基于Vulkan 1.2的安全关键型系统中使用的低级、确定性、稳健API。更多信息请参考Vulkan SC
  • OpenWF™ Display 1.0:用于与Jetson上的本地显示驱动进行低开销交互,并允许与Vulkan SC交互以显示图像。
  • OpenGL 4.6OpenGLES 3.2:跨语言、跨平台的应用程序接口,用于渲染2D和3D矢量图形。
  • GLX 1.4EGL 1.5:分别为OpenGL与X Window System之间的接口以及Khronos渲染API(如OpenGL ES)与底层本地平台窗口系统之间的接口。

Nsight开发者工具

CUDA工具包为C和C++开发者提供了一个全面的开发环境,用于构建高性能的GPU加速应用程序。该工具包包括Nsight Visual Studio Code EditionNsight Eclipse插件、调试和分析工具(如Nsight Compute)以及用于交叉编译应用程序的工具链。

  • NVIDIA Nsight Systems 是一个低开销的系统级分析工具,为开发者提供了分析和优化软件性能所需的见解。
  • NVIDIA Nsight Graphics 是一个独立的应用程序,用于调试和分析图形应用程序。
  • NVIDIA Nsight Deep Learning Designer 是一个集成开发环境,帮助开发者高效地设计和开发用于应用内推理的深度神经网络。
  • Nvidia Nsight Perf SDK 是一个针对Vulkan和OpenGL的图形分析工具箱,允许直接从用户应用程序收集GPU性能指标。

这些工具都在Jetson Orin模块上得到支持,以协助自主机器的开发。

  • JetPack 6.1包含了NVIDIA Nsight Systems v2024.5
  • JetPack 6.1包含了NVIDIA Nsight Graphics 2024.2
  • JetPack 6.1作为CUDA Toolkit 12.2的一部分,包含了NVIDIA Nsight Compute v2023.2

支持的SDK和工具

  • NVIDIA DeepStream SDK 是一个完整的分析工具包,适用于基于AI的多传感器处理及视频和音频理解。JetPack 6.1支持DeepStream 7.1。
  • NVIDIA Isaac™ ROS 是一系列硬件加速包,使ROS开发者更容易在包括NVIDIA Jetson在内的NVIDIA硬件上构建高性能解决方案。JetPack 6.1将支持Isaac ROS 3.0(即将推出)。
  • NVIDIA Holoscan 是一个传感器处理平台,简化了实时洞察的AI和高性能计算(HPC)应用的开发和部署。JetPack 6.1支持Holoscan SDK 2.6
  • NVIDIA Triton™ Inference Server 简化了大规模部署AI模型的过程。Triton Inference Server是开源的,支持从NVIDIA TensorRT、TensorFlow和ONNX Runtime训练的AI模型的部署。

此外,还有PowerEstimator这一web应用程序,它简化了自定义电源模式配置文件的创建,并估计Jetson模块的功耗。

云原生

Jetson将云原生技术带到了边缘,使得容器和容器编排技术成为可能。NVIDIA JetPack包含与Docker集成的NVIDIA容器运行时,使得在Jetson平台上可以使用GPU加速的容器化应用程序。

NVIDIA在NVIDIA NGC上托管了多个适用于Jetson的容器镜像,有的适合带有示例和文档的软件开发,有的则适合仅包含运行时组件的生产软件部署。查看更多信息:Jetson上的云原生

安全性

NVIDIA Jetson模块包括多种安全特性,如硬件信任根、安全启动、硬件加密加速、可信执行环境、磁盘和内存加密、物理攻击保护等。更多信息请查看:Jetson Linux Developer guide。JetPack 6.1的安全亮点包括:

  • 在T234平台上支持基于固件的信任平台模块(fTPM)。有关所有安全特性的详细信息,请参阅安全页面

JetPack文档和网络研讨会

文档
  • 对于示例和文档的列表,请参阅JetPack文档。这里可以找到关于如何使用JetPack及其各个组件的详细指南。
  • 访问Jetson支持资源页面,可以获取硬件和软件文档的链接,这对于深入了解Jetson模块的功能和开发实践非常有帮助。
网络研讨会
支持
  • 如果您有任何问题或遇到任何问题,可以访问NVIDIA Jetson论坛。这里有专门的Jetson专家团队为您提供支持。
  • 对于较旧版本的JetPack,请访问JetPack存档以获取相关信息和支持资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值