使用NVIDIA Jetson AGX Xavier部署新的自主机器

世界上为人工智能开发者开发的终极嵌入式解决方案, jetson agx xavier ,现在作为独立的生产模块从 nvidia 发货。作为自主机器 nvidia 的 agx 系统 的一员, jetson agx xavier 是将先进的人工智能和计算机视觉部署到边缘的理想选择,使机器人平台具有工作站级的性能,并且能够在不依赖人工干预和云连接的情况下完全自主地运行。由 jetson agx xavier 提供动力的智能机器可以自由地在其环境中进行交互和安全导航,不受复杂地形和动态障碍物的阻碍,完全自主地完成现实世界的任务。这包括包装交付和工业检验,需要先进的实时感知和推理能力。作为世界上第一台专门为机器人和边缘计算而设计的计算机, jetson agx xavier 的高性能可以处理视觉里程测量、传感器融合、定位和映射、障碍物检测,以及对下一代机器人至关重要的路径规划算法。开发人员现在可以开始批量部署新的自主机器。
图 1 。 jetson agx xavier 带热传递板( ttp )的嵌入式计算模块, 100x87mm
最新一代 nvidia 业界领先的嵌入式 linux 高性能计算机 jetson agx 系列, jetson agx xavier 以 100x87mm 的紧凑型外形,提供了 gpu 工作站级的性能和无与伦比的 32 兆兆( tops )峰值计算和 750gbps 的高速 i / o 。用户可以根据应用需要配置 10w 、 15w 和 30w 的工作模式。 jetson agx xavier 为可部署到边缘的计算密度、能源效率和人工智能推断能力设置了新的标准,使具有端到端自主能力的下一级智能机器成为可能。
jetson 通过深度学习和计算机视觉,为许多世界上最先进的机器人和自动机器提供人工智能,同时专注于性能、效率和可编程性。 jetson agx xavier ,如图 2 所示,由超过 90 亿个晶体管组成,基于有史以来最复杂的片上系统( soc )。该平台包括集成的 512 核 nvidia volta gpu ,包括 64 张量核 、 8 核 nvidia carmel armv8 。 2 64 位 cpu 、 16gb 256 位 lpddr4x 、双 nvidia 深度学习加速器 ( dla )引擎、 nvidia 视觉加速器引擎、高清视频编解码器、 128gbps 专用摄像头摄取和 16 通道 pcie gen 4 扩展。 256 位接口上的内存带宽为 137gb / s ,而 dla 引擎减轻了深度神经网络( dnns )的推理任务。 nvidia 的 jetpacksdk4 。 1 。 1 适用于 jetson agx xavier 的 jetpacksdk4 。 1 。 1 包括 cuda 10 。 0 、 cudnn 7 。 3 和 tensorrt 5 。 0 ,提供了完整的 ai 软件栈。
图 2 。 jetson agx xavier 提供了丰富的高速 i / o
这使得开发者能够在机器人、智能视频分析、医疗仪器、嵌入式物联网边缘设备等应用中部署加速人工智能。和它的前辈 jetson tx1 和 tx2 一样, jetson agx xavier 使用的是模块上系统( som )范式。所有的处理都包含在计算模块上,高速 i / o 通过高密度板对板连接器提供的分接载体或外壳上。以这种方式将功能封装在模块上,使开发人员能够轻松地将 jetson xavier 集成到他们自己的设计中。 nvidia 发布了全面的 文档 和参考设计文件,可供嵌入式设计师使用 jetson agx xavier 创建自己的设备和平台。请务必参考 jetson agx xavier 模块数据表 和 jetson agx xavier oem 产品设计指南 了解表 1 中列出的全部产品功能,此外还有 electr 机械规范、模块引脚输出、电源顺序和信号布线指南。
jetson agx xavier 包括超过 750gbps 的高速 i / o ,为流式传感器和高速外围设备提供了超常的带宽。它是最早支持 pcie gen 4 的嵌入式设备之一,在五个 pcie gen 4 控制器上提供 16 个通道,其中三个控制器可以在根端口或端点模式下运行。 16 个 mipi csi-2 通道可连接到 4 个 4 通道摄像头、 6 个 2 通道摄像头、 6 个 1 通道摄像头,或这些配置的组合(最多 6 个摄像头), 36 个虚拟通道允许使用流聚合同时连接更多摄像头。其他高速 i / o 包括三个 usb 3 。 1 端口、 slvs-ec 、 ufs 和用于千兆以太网的 rgmii 。开发者现在可以访问 nvidia 的 jetpack 4 。 1 。 1 开发者预览 软件,用于 jetson agx xavier ,如表 2 所示。开发者预览版包括 linux for tegra ( l4t ) r31 。 1 board support package ( bsp ),目标系统支持 linux 内核 4 。 9 和 ubuntu18 。 04 。在主机端, jetpack4 。 1 。 1 支持 ubuntu16 。 04 和 ubuntu18 。 04 。
jetpack4 。 1 。 1 开发者预览版允许开发者立即使用 jetson agx xavier 开始产品和应用程序的原型制作,为生产部署做准备。 nvidia 将继续对 jetpack 进行改进,并提供额外的功能增强和性能优化。请阅读 发行说明 了解本版本的亮点和软件状态。
volta gpu
如图 3 所示, jetson agx xavier 集成 volta gpu 提供 512 个 cuda 核和 64 个张量核心,可用于高达 11 tflops fp16 或 22 个 int8 compute 顶部,最大时钟频率为 1 。 37ghz 。它支持计算能力为 sm _的 cuda 10 , gpu 包括 8 个 volta 流式多处理器( sm ),每个 volta sm 有 64 个 cuda 核和 8 个张量核。每个 volta sm 都包括一个 128kb 的 l1 缓存,比前几代大 8 倍。 sms 共享一个 512kb 的二级缓存,访问速度比前几代快 4 倍。
图 3 。 jetson agx xavier 电压 gpu 方框图
每个 sm 由 4 个独立的处理块组成,称为 smps (流式多处理器分区),每个处理块包括自己的 l0 指令缓存、 warp 调度器、调度单元和寄存器文件,以及 cuda 内核和 tensor 内核。每个 sm 的 smp 数量是 pascal 的两倍, volta sm 的特点是改进了并发性,并且支持更多的线程、扭曲和线程块。
张量核
nvidia 张量核心是可编程的融合矩阵乘法和累加单元,它们与 cuda 核心并行执行。张量核实现了新的浮点 hmma (半精度矩阵乘法和累加)和 imma (整数矩阵乘法和累加)指令,用于加速密集线性代数计算、信号处理和深度学习推理。
图 4 。张量核 hmma / imma 4x4x4 矩阵乘法和累加
矩阵乘法输入 a 和 b 是 hmma 指令的 fp16 矩阵,而累加矩阵 c 和 d 可以是 fp16 或 fp32 矩阵。对于 imma ,矩阵乘法输入 a 是有符号或无符号的 int8 或 int16 矩阵, b 是有符号或无符号的 int8 矩阵, c 和 d 累加器矩阵都是有符号 int32 。因此,精度和计算范围足以避免内部积累期间的溢出和下溢情况。
nvidia 库包括 cublas 、 cudnn 和 tensorrt 已被更新,以在内部利用 hmma 和 imma ,使程序员能够轻松地利用张量核固有的性能增益。用户还可以通过在 wmma 名称空间和 cuda 10 中包含的 mma 。 h 头文件中公开的新 api ,直接访问 warp 级别的 tensor 核心操作。 warp 级别的接口在每个 warp 的所有 32 个线程上映射 16 × 16 、 32 × 8 和 8 × 32 大小的矩阵。
深度学习加速器
jetson agx xavier 具有两个 nvidia 深度学习加速器 ( dla )引擎,如图 5 所示,它们减轻了固定函数卷积神经网络( cnn )的推理。这些引擎提高了能源效率,并释放了 gpu 来运行更复杂的网络和用户执行的动态任务。 nvidia dla 硬件体系结构是开源的,可从 nvdla 。 org 网站 获得。每个 dla 具有高达 5 个 top int8 或 2 。 5 tflops fp16 性能,功耗仅为 0 。 5-1 。 5w 。 dla 支持加速 cnn 层,如卷积、反褶积、激活函数、最小/最大/平均池、本地响应规范化和完全连接层。
图 5 。深度学习加速器( dla )架构框图
dla 硬件由以下组件组成:
卷积核心 – 优化的高性能卷积引擎。
单数据处理器 – 激活功能的单点查找引擎。
平面数据处理器 – 用于池的平面平均引擎。
通道数据处理器–用于高级标准化功能的多通道平均引擎。
专用内存和数据整形引擎 – 用于张量整形和复制操作的内存到内存转换加速。
开发人员使用 tensorrt 5 。 0 编程 dla 引擎,在网络上执行推断,包括对 alexnet 、 googlenet 和 resnet-50 的支持。对于使用 dla 不支持的层配置的网络, tensorrt 为无法在 dla 上运行的层提供 gpu 回退。 jetpack4 。 0 开发者预览版最初将 dla 的精度限制在 fp16 模式,在未来的 jetpack 版本中, dla 的 int8 精度和更高的性能将会出现。
tensorrt 5 。 0 在其 ibuilder 接口中添加了以下 api 以启用 dla :
setdevicetype() 和 setdefaultdevicetype() 用于选择 gpu 、 dla ® 0 或 dla ® 1 以执行特定层,或默认情况下用于网络中的所有层。
canrunondla() 检查层是否可以按配置在 dla 上运行。
getmaxdlabatchsize() 用于检索 dla 可以支持的最大批处理大小。
allowgpufallback() 使 gpu 能够执行 dla 不支持的层。
请参考 tensorrt 5 。 0 开发人员指南 的第 6 章,了解 tensorrt 中支持的层配置和使用 dla 的代码示例的完整列表。
深度学习推断基准
我们已经为 gpu agx xavier 发布了 深度学习推断基准结果 ,这些 dnn 包括 resnet 、 googlenet 和 vgg 的变体。我们在 jetson agx xavier 的 jetson 和 dla 引擎上使用 jetpack4 。 1 。 1 开发者预览版 tensorrt 5 。 0 为 jetson agx xavier 运行这些基准测试。 gpu 和两个 dla 分别以 int8 和 fp16 精度并行运行相同的网络体系结构,并报告每个配置的总体性能。 gpu 和 dla 可以在现实世界的用例中同时运行不同的网络或网络模型,以并行方式或在处理管道中彼此并行地提供独特的功能。在 tensorrt 中使用 int8 与全 fp32 精度相比,会导致精度损失 1% 或更少。
首先,让我们考虑一下 resnet-18fcn ( fully-compolutional network )的结果,它是一个用于语义分割的 2048 × 1024 分辨率的全高清模型。分段为自由空间检测和占用率映射等任务提供了每像素分类,并代表了由自主机器计算的用于感知、路径规划和导航的深度学习工作负载。图 6 显示了在 jetson agx xavier 和 jetson tx2 上运行 resnet-18 fcn 的测量吞吐量。
图 6 。 resnet-18 fcn 推断 jetson agx xavier 和 jetson tx2 的吞吐量
jetson agx xavier 目前在 resnet-18 fcn 推理中的性能是 jetson tx2 的 13 倍。 nvidia 将继续在 jetpack 中发布软件优化和功能增强,随着时间的推移,将进一步提高性能和功率特性。请注意, 基准结果 的完整列表报告了 jetson agx xavier 的 resnet-18 fcn 的性能,但在图 7 中,我们只绘制了批量大小为 16 的 resnet-18 fcn ,因为 jetson tx2 能够运行 resnet-18 fcn ,最大批量为 16 。
图 7 。 resnet-18 fcn 推断 jetson agx xavier 和 jetson tx2 的能量效率
当考虑使用每秒处理的每瓦特图像的能效时, jetson agx xavier 目前比 resnet-18 fcn 的 jetson tx2 高 6 倍。我们通过使用板载 ina 电压和电流监测器测量总模块功耗来计算效率,包括 cpu 、 gpu 、 dla 、内存、其他 soc 功率、 i / o 和所有轨道上的调节器效率损失。两台 jetson 都在 15w 电源模式下运行。 jetson agx xavier 和 jetpack 飞船,具有 10w 、 15w 和 30w 的可配置预设功率配置文件,可在运行时使用 nvpmodel 电源管理工具进行切换。用户还可以使用不同的时钟和 dvfs (动态电压和频率缩放)调速器设置来定义自己的自定义配置文件,这些设置已经过定制,以实现单个应用的最佳性能。
接下来,让我们比较一下图像识别网络 resnet-50 和 vgg19 上的 jetson agx xavier 基准测试,这些基准测试的批量大小从 1 到 128 与 jetson tx2 。这些模型对分辨率为 224 × 224 的图像块进行分类,常用作各种目标检测网络中的编码器主干。在较低分辨率下使用 8 或更高的批处理大小可用于近似处理较高分辨率下批大小为 1 的性能和延迟。机器人平台和自主机器通常包含多个摄像机和传感器,除了执行感兴趣区域( roi )的检测,然后分批对 roi 进行进一步分类,这些摄像头和传感器可以批量处理以提高性能。图 8 还包括对 jetson agx xavier 未来性能的估计,包括软件增强功能,如 int8 对 dla 的支持和 gpu 的其他优化。
图 8 。 int8 支持 dla 和其他 gpu 优化后的估计性能
jetson agx xavier 目前在 vgg19 上的 jetson tx2 和 resnet-50 上的吞吐量分别达到 18 倍和 14 倍,如图 9 所示。延迟为 65 。 5 秒,或净大小为 65 。 5 秒/秒。随着未来软件的改进, jetson agx xavier 预计将比 jetson tx2 快 24 倍。请注意,对于遗留比较,我们还提供了完整的 性能列表 中的 googlenet 和 alexnet 的数据。
图 9 。 jetson xavier 和 jetson tx2 的 resnet-50 和 vgg19 能效
jetson agx xavier 目前在 vgg19 推理方面的效率比 jetson tx2 高 7 倍多,使用 resnet-50 的效率高 5 倍,考虑到未来的软件优化和增强,效率提高了 10 倍。参考完整的 绩效结果 来获取更多的数据和关于推断基准的细节。我们还将在下一节中对 cpu 的性能进行基准测试。
卡梅尔 cpu 复合体
图 10 所示的 jetson agx xavier 的 cpu 复合体由四个基于 armv8 。 2 的异构双核 nvidia carmelcpu 簇组成,最大时钟频率为 2 。 26ghz 。每个核心包括 128kb 指令和 64kb 数据一级缓存,以及两个内核之间共享的 2mb 二级缓存。 cpu 集群共享一个 4mb 的 l3 缓存。
关于作者
dustin franklin 是 nvidia 的 jetson 团队的开发人员布道者。 dustin 拥有机器人和嵌入式系统方面的背景,他乐于在社区中提供帮助,并与 jetson 一起参与项目。你可以在 nvidia developer forums 或 github 上找到他。


如何处理强电弱电交叉的问题
英特尔镁光合推3D XPoint中间技术 缩减RAM与硬盘之间速度差距
广州智能制造企业源代码防泄密解决方案,源代码加密
小米10 Pro获最佳音频性能得分榜单第一
怎样去设计一个圆柱形纳米棒组成的衍射超透镜呢
使用NVIDIA Jetson AGX Xavier部署新的自主机器
新日本无线新开发的高增益特性的GNSS两级LNA ”NJG1187”进入量产
苹果高管承认:iPhone 12无线充电器或将让部分卡片消磁
Java编程:发送HTTP请求到服务器
上海市智能制造特色产业园区推进大会今天举行
固态电池干法/湿法生产工艺比较
程浩带来了《未来十年的主战场:to B》的主题演讲
IDC:2017年全球数字化转型技术支出将达1.2万亿美元
高光谱成像技术有哪些显著的优势?
机器学习算法概览:异常检测算法/常见算法/深度学习
全球平板销量下降,苹果仍第一,iPad pro让苹果非常头痛
PCB layout结合生产设计必须遵循那些六大原则
Nvidia掌门黄仁勋否认将进军x86 CPU市场
嘉宾“大咖”云集婺城 共商工业互联网发展大计
关于现代无线通信系统的研发趋势分析和应用