如果你是一位活跃的 Jetson 开发者,你知道 NVIDIA Jetson 的一个关键优点是它将 CPU 和 GPU 组合成一个单一的模块,在一个可以部署在边缘的小型、低功耗软件包中为你提供扩展的 NVIDIA 软件堆栈。
Jetson 还具有多种其他处理器,包括硬件加速编码器和解码器、图像信号处理器和深度学习加速器(DLA)。
DLA 可在 Jetson AGX Xavier, Xavier NX, Jetson AGX Orin 和 Jetson Orin NX 模块上使用。最近的 NVIDIA DRIVE Xavier 和基于 NVIDIA Jetson Orin 的平台也有 DLA 核心。
如果您使用 GPU 进行深度学习执行,请继续阅读以了解有关 DLA 的更多信息、为什么它有用以及如何使用它。
深度学习加速器概述
DLA是一个特定应用的集成电路,能够有效地进行固定的操作,如卷积和池化,这在现代神经网络架构中是常见的。虽然 DLA 没有那么多支持层作为 GPU ,它仍然支持许多流行的神经网络架构中使用的各种层。
在许多情况下,这些支持层可能涵盖模型的需求。例如, NVIDIA TAO 工具套件 包括 DLA 支持的各种预训练模型,从目标检测到动作识别。
虽然需要注意的是, DLA 吞吐量通常低于 GPU 的吞吐量,但它的效能允许您卸载深度学习工作负载,将 GPU 释放出来用于其他任务。或者,根据您的应用程序,您可以在 GPU 和 DLA 上同时运行相同的模型,以实现更高的净吞吐量。
许多 NVIDIA Jetson 开发者已经在使用 DLA 成功优化他们的应用程序。 Postmates 利用 DLA 和 GPU 优化了 Jetson AGX Xavier 上的交付机器人应用。Cainiao ET Lab 使用 DLA 优化其物流车辆。如果您希望充分优化应用程序, DLA 是 Jetson 系列中需要考虑的一个重要部分。
如何使用深度学习加速器
NVIDIA Jetson Orin 上深度学习加速器的粗略架构图
要使用 DLA ,首先需要使用深度学习框架(如 PyTorch 或 TensorFlow )来训练模型。接下来,您需要使用 NVIDIA TensorRT 导入并优化您的模型。 TensorRT 负责生成 DLA 引擎,也可以用作执行这些引擎的运行时。最后,您应该分析您的模式,并尽可能进行优化,以最大限度地提高 DLA 兼容性。
开始使用深度学习加速器
Jetson_dla_tutorial GitHub 演示了一个基本的 DLA 工作流,可以帮助您优化 Jetson 的应用程序。
通过本教程,您可以学习如何在 PyTorch 中定义模型,使用 TensorRT 导入模型,使用 NVIDIA Nsight System profiler 分析性能,修改模型以获得更好的 DLA 兼容性,以及为 INT8 执行进行校准。请注意, CIFAR10 数据集将作为示例,以便于再现步骤。
复制链接,开始探索 Jetson_dla_tutorial 。
https://github.com/NVIDIA-AI-...