NVIDIA英伟达嵌入式系统 · 2022年09月29日 · 北京市

All in One!一个开发者套件解决六个NVIDIA Jetson Orin模块开发

All in One-1.png

随着 Jetson Orin Nano 在本次 GTC 大会的发布,整个 Jetson Orin 模块阵容现已揭晓。凭借高达 40 TOPS 的 AI 性能,Orin Nano 模块为入门级 AI 设定了新标准,正如 Jetson AGX Orin 已经通过 275 TOPS 的服务器级计算重新定义了机器人技术和其他自主边缘用例一样。

所有 Jetson Orin 模块和 Jetson AGX Orin 开发套件均基于单一 SoC 架构,配备 NVIDIA Ampere 架构 GPU、高性能 CPU 和最新加速器。这种共享架构意味着您可以为一个 Jetson Orin 模块开发软件,然后轻松将其部署到任何其他模块。

您现在可以开始使用 Jetson AGX Orin 开发者工具套件开发任何 Jetson Orin 模块。开发者工具套件能够本地模拟任何模块的性能,让您从现在开始并缩短上市时间。通过配置硬件特性和时钟以匹配目标模块的特性,开发者工具套件可以准确地模拟任何 Jetson Orin 模块的性能。

开发团队受益于这种简单性,即只需要一种类型的开发者工具套件,而不用管哪些模块是针对生产的。这也简化了 CI / CD 基础架构。无论您是针对机器人、视频分析还是任何其他用例进行开发,这一开发者工具套件的功能都会带来许多好处。

将 Jetson AGX Orin 开发者套件转化为任何 Jetson Orin 模块

只需一步,您就可以将 Jetson AGX Orin 开发者套件转换为任何一个 Jetson Orin 模块。我们为此过程提供了闪存配置文件。

在 Jetson AGX Orin 开发工具套件上模拟 Jetson Orin 模块,遵循其中提到的相同步骤使用刷写实用程序来刷写 Jetson AGX Orin 开发者工具套件。将您的开发者工具套件置于强制恢复模式后,使用 flash.sh 命令行工具使用新映像对其进行闪存。例如,以下命令使用其默认配置刷新开发者工具套件:

$ sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1

您使用的确切命令应修改为适合您正在模拟的目标 Jetson Orin 模块的闪存配置名称。例如,要模拟 Jetson Orin NX 16GB 模块,请使用以下命令:

$ sudo ./flash.sh jetson-agx-orin-devkit-as-nx-16gb mmcblk0p1

表 1 列出了 Jetson Orin 模块和适用于每个模块的 flash.sh 命令。

All in One-2.jpg

表 1 Jetson Orin 模块的 flash.sh 命令

从 5.0.2 版本开始,NVIDIA JetPack 中尚未包含 Jetson Orin Nano 模块的 Flash 配置。在下载这些新配置并按照下载文件中的说明在 NVIDIA JetPack 5.0.2 之上应用覆盖补丁后,可以使用这些新配置。

有关用于仿真的闪存配置的更多信息,请参阅以下链接:

https://docs.nvidia.com/jetso...

闪存完成后,完成初始启动和配置。然后,您可以使用 SDK Manager 安装其余的 NVIDIA JetPack 组件,或者只需在运行的开发者工具套件上使用软件包管理器:

sudo apt update
sudo apt install nvidia-jetpack

现在您已经运行了开发者工具套件并安装了 NVIDIA JetPack。您的 Jetson AGX Orin 开发者套件现在可以模拟指定的 Jetson Orin 模块的性能和功率。

准确模拟任何 Jetson Orin 模块

本机模拟非常准确,因为它将开发者工具套件配置为与目标模块可用的时钟频率、GPU 和 CPU 内核数量以及硬件加速器相匹配。

例如,在模拟 Jetson Orin NX 16GB 模块时:

  • 开发者套件 GPU 配置有 1024 个 CUDA 内核和 32 个 Tensor 内核,最大频率为 918 MHz。
  • CPU 复合体配置有八个运行频率为 2 GHz 的 Arm Cortex-A78AE 内核。
  • DRAM 配置为 16 GB,带宽为 102 GB/s。
  • 该系统提供与 Jetson Orin NX 16GB 模块支持的相同电源配置文件。

All in One-3.png

图 1 可用的电源模式

从桌面顶部菜单打开 Jetson Power 图形用户界面,您会看到系统已根据正在模拟的目标模块进行了准确的配置。可以通过运行以下命令来配置最大时钟,Jetson Power 图形用户界面将显示更改。

sudo jetson_clocks

图 2 显示了当 Jetson AGX 开发者套件闪存到模拟的 Jetson AGX-Orin 64GB 模块时,与闪存到模拟 Jetson Orin NX 16GB 模块时相比配置了最大时钟后的 Jetson Power 图形用户界面。

All in One-4.png

图 2 开发者套件上显示的 Jetson Power 图形用户界面闪烁以模拟 Jetson AGX Orin 64GB(左)和选择 MAXN 电源模式的 Jetson Orin NX 16GB(右)

通过运行 NVIDIA JetPack 提供的各种示例,您可以看到性能已调整为与正在模拟的模块相匹配。例如,在配置 Jetson AGX Orin 开发者套件进行仿真后,与 VPI 库一起打包的基准测试示例可用于显示 Jetson AGX Orin 64GB、Jetson Orin NX 16GB 和 Jetson Orin Nano 8GB 模块的 CPU、GPU 和 PVA 性能相应的模块。

要运行 VPI 基准测试示例,请使用以下命令:

cd /opt/nvidia/vpi2/samples/05-benchmark
sudo cmake .
sudo make
sudo ./vpi_sample_05_benchmark <cpu/cuda/pva>

VPI 基准测试示例以毫秒为单位输出高斯算法的延迟。表 2 显示了每个目标模块的结果。

All in One-5.jpg

表 2 目标模块的延迟(毫秒)

同样,您可以运行多媒体样本进行编码和解码。

要解码,请运行以下命令:

cd /usr/src/jetson_multimedia_api/samples/00_video_decode
sudo make
sudo ./video_decode H264 --disable-rendering --stats --max-perf <input file>

要进行编码,请运行以下命令:

cd /usr/src/jetson_multimedia_api/samples/01_video_encode
sudo make
sudo ./video_encode input.yuv 1920 1080 H264 out.h264 -fps 30 1 -ifi 1000 -idri 1000 --max-perf --stats

表 3 显示了使用 H.264 1080P 30FPS 视频流运行这些编码和解码样本后的 FPS 数。

All in One-6.jpg

表 3 运行编码和解码样本后的 FPS 数

  • Jetson Orin Nano 不包括 NVEncoder。对于表 3,Jetson Orin Nano 的编码是在 CPU 上使用 ffmpeg 完成的。使用四个 CPU 核心时,达到 110 FPS。当使用两个 CPU 核心时,实现了 73 的 FPS,而当使用一个 CPU 核心时,实现了 33 的 FPS。

为了证明仿真的准确性,我们在 Jetson AGX Orin 开发者套件上运行了一些 AI 模型基准测试,模拟为 Jetson AGX Orin 32GB 。然后,我们将其与在实际 Jetson AGX Orin 32GB 模块上运行相同基准测试所获得的结果进行比较。从结果中可以看出,模拟性能和实际性能之间的差异微不足道。

尽管 Jetson AGX Orin 开发者套件包括 32GB 模块,但它提供了相同级别的性能,并且配备了 275 个 TOPS,与 Jetson AGX Orin 64GB 相匹配。Jetson AGX Orin 64 GB 仿真不需要特殊的闪存配置,但您必须使用适当的闪存配置在 Jetson AGX Orin 开发者套件上仿真 Jetson AGX Orin 32GB。

All in One-7.png

表 4 真实和仿真 Jetson AGX Orin 模块之间的性能比较

对任何 Jetson Orin 模块进行端到端开发

您可以在模拟 Jetson Orin 模块的同时使用整个 Jetson 软件堆栈。NVIDIA DeepStream、NVIDIA Isaac 和 NVIDIA Riva 等框架在仿真模式下工作,而 TAO Toolkit 等工具在 NGC 的预处理模型中的性能符合预期。软件堆栈与仿真无关,性能与被仿真目标的性能精确匹配。

all in one.png

图 4 NVIDIA Jetson 软件堆栈

如果您正在开发机器人用例或开发视觉 AI 工作流,您现在可以使用 Jetson AGX Orin 开发者套件和仿真模式对任何 Jetson Orin 模块进行端到端开发。

使用 NVIDIA Isaac ROS 为任何 Jetson Orin 模块开发机器人应用程序。只需使用正确的闪存配置来闪存并启动 ROS 开发。图 5 显示了在 Jetson AGX Orin 开发者套件上运行 Isaac ROS Stereo Disparity DNN ,模拟为 Jetson Orin Nano 8GB 。

All in One-8.gif
图 5 NVIDIA Isaac ROS Stereo Disparity DNN 在模拟为 Jetson Orin Nano 8GB 的 Jetson AGX Orin 开发者套件上运行

在 Jetson AGX Orin 开发套件上使用 DeepStream 开发视觉 AI 工作流,适用于任何 Jetson Orin 模块。

图 6 显示了在 Jetson AGX Orin 开发者套件上使用 DeepStream 运行人员检测的 IVA 工作流,模拟为 Jetson Orin Nano 8GB ,具有四个 H.265 1080P 30FPS 流。

All in One-9.gif

图 6 DeepStream 视觉工作流运行 Jetson AGX Orin 开发者套件上的人员和车辆检测,模拟为 Jetson Orin Nano 8GB

使用 Jetson AGX Orin 开发者套件更快地进入市场

有了仿真支持,您可以通过在 Jetson AGX Orin 开发者套件上启动和完成应用程序开发以便更快地投入生产。我们还将在即将推出的 NVIDIA JetPack 5.0.2 网络研讨会中做出详细介绍。

复制链接,立即注册参加网络研讨会!

https://gateway.on24.com/wcc/...

推荐阅读
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息