NEWS CENTER
大家好,我是NVIDIA嵌入式解决方案架构师李蒙,今天跟大家分享的内容是关于Jetson AGX Orin和Orin NX的相关介绍。
今天的内容主要分成两部分,第一部分介绍Jetson AGX Orin产品系列的Roadmap,以及它的产品设计优势,第二部分介绍Jetson AGX Orin 和Orin NX 的Spec。
01、Jetson AGX Orin产品系列Roadmap
上图是Jetson AGX Orin的Roadmap,左侧绿色部分是已经在市面上销售、量产的产品模组,包括NANO、TX2 NX、Xavier NX和AGX Xavier。NVIDIA明年会有两款Orin产品发布,明年Q1 季度发布AGX Orin, Q4季度发布Orin NX,这两款产品的周期都是5年,2023年会有NANO的Orin产品发布, 这是Roadmap的大致时间节点。
目前已经在市面上销售的工规模组,有两款大家可能比较熟悉,一个是TX2i,另一个AGX Xavier Industrial。AGX Orin也会有工规产品发布,预计发布时间是2023年。
AGX Orin发布以后,软件也会配套升级,目前JetPack刷机软件的版本是4.6,这是现在已经发布的版本,到今年年底的时候,会发布一个小版本4.6.1,主要是SDK的小幅升级和Bug Fix方面的发布。目前4.6.1支持Jetson全系产品,支持Orin的JetPack版本是5.0,这个版本明年跟AGX Orin一起发布。
JetPack 5.0版本,对模组的支持是从Xavier系列起步,早于Xavier系列的就不再支持了,像TX2、NANO在5.0版本里面就不会再支持了,全系列的早期版本支持,最后一个版本就是4.6.1,这是JetPack的Roadmap情况,正式量产版会再稍微晚一点,可能会在明年年中左右。
JetPack 5.0与现在的4.6版本相比,有两个比较大的区别,一个是Kernel版本的升级,现在4.6的 Kernel版本是4.9,到了JetPack 5.0以后,Kernel会升级到5.X,可能是5.1,也可能是其他小版本,总之是5.0以上的版本。另一个是操作系统会升级到Ubuntu 20.04,不再是现在的18.04版本,这是两个比较大的一个变化,是最关键的两点。
刚才简单介绍了 AGX Orin Roadmap大概的规划,这里简单总结一下,对于现在的AGX Orin来说,它的产品定位是自主机器,比如物流车、无人机、相对比较复杂的大型机器人等,也包括跟今天主题相关的如V2X、RSU、OBU或者辅助驾驶,这些场景都是比较适用的。
在软件开发方面,主要有两个应用方向,一个是多个Pipeline的并发使用,当算力增强以后,一个盒子可以跑多个不同的完全独立的任务,所以在算力足够高的时候,AGX Orin是比较适合在这样的场景下去使用的。
另一个是相对大型复杂的模型也比较适合在AGX Orin 上跑,大家都知道,V2X、辅助驾驶和机器人里面一般都是多Sensor融合,可能会有雷达、超声波、毫米波、惯导和多个Camera等各种各样类型的传感器接入,这些传感器接入进来,特别是雷达数据,这是数量非常庞大的一些数据,这些数据进到模组里面,对模组的处理能力提出了很高的考验。所以这种多Sensor融合能力需要非常强的算力, Jetson AGX Orin相较于上一代的AGX Xavier,算力有了大幅提升,非常适合在这样的场景下去做相关的解决方案。
这里列了一个例子,是关于 AGX Orin的主要特点,包括外观尺寸、性能、IO特点、功耗、管脚的兼容性(兼容上一代的 AGX Xavier)。现在大家还拿不到Jetson AGX Orin 的模组或者开发套件,无法去做评估和验证,而AGX Orin和AGX Xavier管脚是兼容的,pin to pin都是699管脚,这样意味着大家做验证,可以基于目前AGX Xavier去做,只是算力有一定的差异。
做完开发以后,等未来拿到Orin模组或者Orin开发套件,做少量的调整就可以平滑的把软件相关部分迁移过来,对产品开发来说这是个无缝迁移过程,这是Jetson AGX Orin一个简单的优势总结。
02、Jetson AGX Orin产品系列Spec
下面来看一下Jetson AGX Orin的Spec,图中上面的是Jetson AGX Orin和 Jetson Orin NX,下面的是市面上已经在使用的Jetson AGX Xavier和 Jetson Xavier NX,可以看到对于相同的来说,比如AGX Orin和AGX Xavier,首先是算力有6倍的提升,从32T升级到了200T,同时功耗没有明显的增长,模组功耗 AGX Orin是50瓦,AGX Xavier是40瓦,外观尺寸都是100mm×87mm,跟明信片差不多(或者稍微大一点),明年Q1会发布。
Orin NX算力是100T,相比之前的Xavier NX 21T ,有5倍左右的提升,功耗也控制的比较低,Orin NX模组典型功耗是25瓦,Xavier NX 是20瓦,外观尺寸也是一样的(45mm×70mm),这是Orin大概的简介,现在大家可能会有比较直观的一个印象。
目前,AGX Orin在NVDIAI下载中心已经有部分资料可以下载了,下图是AGX Orin模组的结构图,带颜色的部分(粉色和红色)代表跟 AGX Xavier的差异,粉色代表是数量上有一定的差异,但二者都具备该部分;红色部分代表只有AGX Orin有,AGX Xavier没有;黑色部分代表是二者是一致的。
首先来看AGX Orin新增的部分,一个是Secure NOR,多一块Flash做保存,这样安全性可以得到进一步保障,另一个是增加了4路万兆网口,在很多场景下需要通过这种网口来接入设备,比如V2X的端侧、路侧设备很多都要外接网线,有万兆网口,带宽会有大的提升,低延时实时性会更高,数据传输会压力也会更小。
粉色部分代表数量上有一定的差异,或多或少,以PCIe举例,AGX Orin PCIe是22个lane,相比AGX Xavier 的16个Lane是有所增加的,其他的就不一一介绍了。
下图是具体参数上的差异,左侧是AGX Xavier,右侧是AGX Orin。
首先从GPU的架构来看,AGX Xavier是Volta架构,AGX Orin升级到了Ampere架构(跟N100是相同的架构),另外CUDA数量有了4倍的提升,从512增长到了2048,Tensor Core保持不变,但是Tensor Core是Ampere的三代,所以性能会更加强劲。
在CPU方面, 从AGX Xavier 8核的Carmel Arm架构变成了12核的Cortex A78,它的整体性能是高于Carmel Arm CPU。
在DLA方面,AGX Orin还是2核DLA,但算力有了大幅增长,从5.7T变到了48.5T。
同时IO接口也有明显升级,从DDR4升级到DDR5,带宽有接近1.5倍增长,在AGX Orin架构下面, DDR5点读写速度是204GB/s。
另外前面提到的4个万兆网口,通过网口传递数据带宽会有明显的提升,可以接更多的外设去读取,所以无论是接外设,还是跟云端的数据做交互,使用AGX Orin都是比较便捷的。
在编解码方面,模组要考虑综合平衡,所以这里面稍微提一下,在解码方面AGX Orin是略有降低。举个例子,比如H.264 AGX Xavier是4路4K60,AGX Orin是1路4K60,H.265 AGX Xavier是 2路8K30,AGX Orin是1路8K30,这里涉及性能提升和功耗的一个整体的平衡,中间需要有取舍,大家在做判断的时候相关的Spec要仔细看一下。
在Camera方面,AGX Orin跟AGX Xavier保持一致,还是16个lane,但是如果使用C-PHY芯片,那么带宽会提升两倍多。
这里主要关注一下PCIe,从16个Lane升级到20个Lane以后,可以看到它的组合更多、更丰富了。比如之前是8个Lane,只能有一路8个Lane,现在可以构建两路8个Lane或一路8 Lane再加上两路4个Lane,所以整体来说PCIe的组合方式更多了,选择性也更加丰富。
此外,包括显示和Audio部分,接口也更丰富了,所以大家在实验当中,可以根据需要去做适当的扩展,当然比较关键的还是4路万兆网口的升级,做外设扩展会更加的方便。
上面是算力提升对比图,对比的是AGX Orin和AGX Xavier,首先来看推理能力,整体推理能力从32T变到了200T,有6倍左右的提升,其次在深度学习相关的模型推理当中也有比较大幅的增长,当然需要强调一下,200T需要的推理模型是结构稀疏化的模型,TensorRT检测到模型是稀疏化模型的话,可以进一步的提升推理能力。
CUDA Core算力提升3倍左右(纯CUDA开发),CUDA 核有4倍的数量提升,DLA总算力从11T提升到了97T, CPU的性能提升1.7倍左右,从8核Carmel Arm提升到12核的Cortex A78,DRAM带宽也有1.5倍的提升。
这里简单介绍一下Ampere的架构, Jetson作为嵌入式模组,虽然是GPU,不像数据中心显卡是个独立的,但是它的GPU结构大家可以看一下,跟市面上Ampere显卡的物理结构是一样的,是从GPC、TPC再到SM的物理结构,最底层是SM,一个TPC包含了2个SM,整体是有16个SM做相关的硬件加速,物理结构保持跟显卡一致,并没有做其他改变,只是在数量上面是有所缩减。
下面来看一下AGX Orin Tensor Core的主要特点,首先Tensor Core支持的数据类型更加丰富,新增了TF32、BF16这两种数据类型,当然也支持之前的FP16、INT8这些类型。
其次是会支持结构稀疏化模型的推理加速,在模型做训练的时候要确保是结构稀疏化的模型,所谓结构系数化就是它的weights按照一定的比例去置零,置零以后它就不参与运算了,所以对推理会有比较大幅的提升。
此外,就是训练完导入到Jetson以后,Tensor Core要能够认识它,在第三代Tensor Core里面,是可以识别到这样的一个稀疏化的模型结构,从而在推理的时候启用相关的硬件加速引擎,进一步提升推理的速度,这是对结构稀疏化的支持。
另外就对数据压缩支持,这部分主要是对于L2 Cache读写能力的增强,通过基于数据压缩的技术,带宽和读写分别有4倍和2倍的改进。基于这样的硬件优化,整体的推理能力相对之前的AGX Xavier有比较大幅提升。
下面来看看新增结构数据类型的特点,这个对比图比较直观。
首先FP32由两部分构成,一个是范围,另一个是精度,其中8位是作为范围表示,后面23位是作为精度表示。
下面对应的TF32,8位跟FP32一样,都是表示范围,精度有所降低,从23位变到10位,变到10位以后,会减少数据传输压力,同时数据表达的范围并没有降低,只是在精度上略有损失,在做模型训练的时候,因为深度学习模型本身就对噪声或者数据变化有一定的适应能力,所以对精度的损失模型本身也有一定的适应能力。
经过我们测试,基于TF32这样的精度做训练,很多模型里能够保持精度,同样的BF16也是一样的,范围没有变化,但精度范围进一步缩小变成7位,但目的是一样的,就是为了能够让大家在数值范围不变前提下,精度适当的缩减,这样的话提升计算速度,增加吞吐。
在训练的时候利用混合精度,是把不同的精度都使用上,对于模型最终训练很多测试表明,整体模型精度并没有下降,或者是略有降低。
目前NVIDIA官网也发布了Orin NX模组的相关信息,具体发布时间是明年的Q4季度,从上图可以看到Orin NX的管脚跟AGX Xavier是兼容的,都是用金手指的连接方式,管脚pin to pin,265管脚的连接方式。
当然现在Orin NX的Spec Release还比较少,但核心的已经可以看到了,一个就是算力,最高算力是100T(INT8),GPU相对于AGX Orin是各自缩减了一半,是1024个CUDA Core和32个 Tensor Cores,CPU是8核Cortex A78,核数稍微降低了点,DLA还是一样,2路DLA,Memory是12G的Memory,AGX Orin是32G,当然比现在8G还是多了些。
另外,存储需要外置NVMe,Orin NX没有内置eMMC,有需要就去扩展,功耗是10瓦到25瓦,比现在的的典型功耗20瓦稍微高点,外观尺寸是一样大,管脚是260 pin双联直插的连接方式,
目前关于Orin NX的介绍还比较少,未来随着产品发布时间节点的临近,更多Spec会进一步Release给大家。
我的分享到此结束,感谢大家的收听!