NVIDIA JetPack SDK 简介
NVIDIA JetPack SDK 是构建 AI 应用的最全面的解决方案。JetPack SDK 为硬件加速的边缘 AI 开发提供完整的开发环境。
JetPack SDK 包含 Jetson Linux 驱动程序包,其中包含引导加载程序、Linux 内核、Ubuntu 桌面环境以及一整套用于加速 GPU 计算、多媒体、图形和计算机视觉的库。它还包括主机和开发者套件的示例、文档和开发者工具,并支持更高级别的 SDK,例如用于流视频分析的 DeepStream、用于机器人的 Isaac 和用于对话式 AI 的 Riva。
JetPack 6.2 组件包括以下内容
操作系统镜像
JetPack 6.2 包括 NVIDIA Jetson Linux 36.4.3,其中包含 Linux Kernel 5.15、基于 UEFI 的引导加载程序、基于 Ubuntu 22.04 的根文件系统、NVIDIA 驱动程序、必要的固件、工具链等等。有关 Jetson Linux 36.4.3 中的所有亮点,请参阅发行说明。
库
-
TensorRT 是一个高性能深度学习推理运行时,用于图像分类、分割和目标检测神经网络。它可以加速深度学习推理,并减少卷积和反卷积神经网络的运行时内存占用。
CUDA 深度神经网络库为深度学习框架提供高性能原语。它包括对卷积、激活函数和张量转换的支持。
CUDA,用于跨多个领域的 GPU 加速应用。
NVIDIA 容器运行时,用于容器化的 GPU 加速应用。
容器运行时支持创建、分发和使用容器化的 GPU 加速应用。
-
Jetson 多媒体 API 包为灵活的应用程序开发提供低级 API。
相机应用 API:libargus 为相机应用提供低级帧同步 API,具有每帧相机参数控制、多个(包括同步)相机支持和 EGL 流输出。需要 ISP 的 RAW 输出 CSI 相机可以与 libargus 或 GStreamer 插件一起使用。在任何一种情况下,都使用 V4L2 媒体控制器传感器驱动程序 API。
传感器驱动程序 API:V4L2 框架支持视频解码、编码、格式转换和缩放功能。用于编码的 V4L2 提供了许多功能,例如比特率控制、质量预设、低延迟编码、时间权衡、运动矢量图等等。
-
VPI (视觉编程接口),一个软件库,提供在 PVA (可编程视觉加速器)、GPU 和 CPU 上实现的计算机视觉/图像处理算法。
OpenCV 是领先的开源库,用于计算机视觉、图像处理和机器学习,现在具有 GPU 加速功能,可用于实时操作。
示例
有许多示例演示了 JetPack 组件的使用。这些示例包含在参考文件系统中,并且可以在开发者套件上编译。
JetPack 组件 |
参考文件系统上的示例位置 |
---|---|
TensorRT |
|
cuDNN |
|
CUDA |
|
多媒体 API |
|
OpenCV |
|
VPI |
|
开发者工具
JetPack 包含用于应用程序开发、调试、性能分析和优化的开发者工具。一些工具直接在 Jetson 系统上使用,另一些工具在连接到 Jetson 系统的 Linux 主机上运行。
用于应用程序开发和调试的工具
- NVIDIA Nsight Eclipse Edition,用于开发 GPU 加速应用。
NVIDIA Nsight Eclipse Edition(与 CUDA Toolkit 捆绑)是一个功能齐全的 IDE,由 Eclipse 平台驱动。它提供了一个一体化的集成环境,用于编辑、交叉编译和调试 CUDA-C 应用程序。Nsight Eclipse Edition 支持丰富的商业和免费插件。*在 Linux 主机上运行。支持所有 Jetson 产品。*
- CUDA-GDB,用于应用程序调试。
CUDA-GDB 是一个命令行工具,与 CUDA Toolkit 捆绑在一起,提供无缝的调试体验,允许您同时调试应用程序的 CPU 和 GPU 部分。*在 Jetson 系统或 Linux 主机上运行。支持所有 Jetson 产品。*
- CUDA-MEMCHECK,用于调试应用程序内存错误。
CUDA-MEMCHECK 是一个命令行工具,与 CUDA Toolkit 捆绑在一起,用于检测 GPU 代码中内存访问错误的来源和原因。CUDA-MEMCHECK 还会报告运行时执行错误,识别可能导致应用程序运行时出现“未指定的启动失败”错误的情况。*在 Jetson 系统上运行。支持所有 Jetson 产品。*
用于应用程序性能分析和优化的工具
- NVIDIA Nsight Systems,用于跨 GPU 和 CPU 的应用程序性能分析。
NVIDIA Nsight Systems 是一款低开销的系统级性能分析工具,为开发人员提供分析和优化软件性能所需的见解。它使用 GPU 跟踪、CPU 采样和跟踪以及操作系统线程状态跟踪来可视化应用程序的算法,帮助开发人员识别优化代码的最大机会。*在 Linux 主机上运行。支持所有 Jetson 产品。*
- nvprof,用于跨 GPU 和 CPU 的应用程序性能分析。
nvprof 是一个命令行工具,与 CUDA Toolkit 捆绑在一起,使您能够收集和查看性能分析数据,即 CPU 和 GPU 上与 CUDA 相关的活动时间线。*在 Jetson 系统上运行。支持所有 Jetson 产品。*
- Visual Profiler,用于跨 GPU 和 CPU 的应用程序性能分析。
Visual Profiler(与 CUDA Toolkit 捆绑)将在未来弃用。开发人员应使用 NVIDIA Nsight Systems 进行跨 GPU 和 CPU 的应用程序采样和跟踪,并使用 Nsight Compute 进行 CUDA 内核性能分析。*在 Linux 主机上运行。支持所有 Jetson 产品。*
- NVIDIA Nsight Graphics,用于图形应用程序调试和性能分析。
NVIDIA Nsight Graphics 是一个独立的应用程序,用于调试和分析图形应用程序。强大的分析工具可帮助识别优化机会。*在 Linux 主机上运行。支持所有 Jetson 产品。*
- NVIDIA Nsight Compute,用于交互式 CUDA 内核性能分析。
NVIDIA Nsight Compute(与 CUDA Toolkit 捆绑)是一个用于 CUDA 应用程序的交互式内核性能分析器。它提供详细的性能指标用于分析,并支持基线和当前运行之间的结果比较。Nsight Compute 可以通过分析脚本进行扩展,以进行后处理结果。在 Linux 主机上运行。*支持 Jetson AGX Xavier 和 Jetson Xavier NX。*
- NVIDIA Nsight Deep Learning Designer,用于开发神经网络。
NVIDIA Nsight Deep Learning Designer 是一个集成开发环境,可帮助开发人员高效地设计和开发用于应用内推理的深度神经网络。
- NVIDIA Nsight Compute CLI,用于 CUDA 内核性能分析。
NVIDIA Nsight Compute CLI(与 CUDA Toolkit 捆绑)提供了一种非交互式方式,用于从命令行分析应用程序。它可以将结果直接打印在命令行上或将其存储在报告文件中。它也可以用于简单地启动目标应用程序,然后暂停它,直到另一个工具连接以进行性能分析。*在 Jetson 系统或 Linux 主机上运行。支持 Jetson AGX Xavier 和 Jetson Xavier NX。*