当前位置:首页 期刊杂志

算力增长无止境NVIDIA DRIVE AGX Orin是如何“开车”的?

时间:2024-05-04

张平

2020年6月24日凌晨,英伟达CEO黄仁勋和梅赛德斯-奔驰全球总裁康林松一起宣布,两家公司将共同研究“软件定义的车辆”,并且奔驰将从下一代汽车开始全面引入英伟达的DRIVE AGX Orin自动驾驶平台。实际上在五天前,奔驰母公司戴姆勒宣布和宝马公司停止了在自动驾驶上的合作。英伟达的DRIVE AGX Orin到底有怎么样的魔力能够引得奔驰“背友”呢?其核心的Orin SoC在技术上究竟有何特别之处?

十二年磨一剑的Orin

英伟达在大约十二年前迈入SoC设计领域,并通过自行设计SoC切入移动计算市场,试图开拓全新的利润空间,但由于缺失无线通信技术,最终铩羽而归。在放弃了移动计算市场之后,英伟达又尝试进入游戏主机、平板电脑、专业设备等领域,并取得了一些成绩。当然,这些领域并不能和逐渐兴起的A I计算和自动驾驶领域相提并论。要知道任何公司一旦在自动驾驶市场占据了先机,这个无比庞大的蓝海市场将带给这家公司难以想象的财富。

因此,英伟达在自动驾驶芯片上可谓全情投入,推出了全新的包含独立设计SoC的DRIVE系列硬件和相關软件,并积极在汽车上开始自动驾驶测试。回顾历史,2015年英伟达就借助Te g ra芯片试水了汽车市场,推出了DRIVE PX。随后英伟达开始一年一升级,2016年发布DRIVE PX2,2017年推出了DRIVE PX Parker,并开始采用漫画中的超级英雄为产品命名。2018年,英伟达CEO黄仁勋在GTC 2018上宣布了英伟达DRIVE系列产品路线图。在这个路线图上,人们看到了英伟达在自动驾驶产品迭代和性能方面的一些设想,英伟达也顺势发布了同样采用超级英雄命名的新一代产品,也就是DRIVE Xavier和Xavier SoC。今天,我们已经可以在部分汽车上看到DRIVEXavi er的身影,比如国内新能源汽车品牌小鹏推出的P7。根据英伟达展示的路线图,接下来的产品被称作Orin,它在2019年的英伟达GTC China上正式公布,被称为DRIVER AGX Orin自动驾驶平台,使用的SoC名为Ori n。实际产品会在2022年为汽车制造商完全准备就绪,Orin也是前文奔驰所选择的自动驾驶芯片。

Cortex-A78和安培GPU现身:170亿晶体管

由于本次发布英伟达只给出了Orin SoC的概要参数,并没有公布架构设计方面的详细内容。因此本文也只会针对英伟达目前给出的相关资料进行解读。

从规模上来看,Orin拥有170亿晶体管,是上代Xavier的2倍。考虑到汽车上自动驾驶计算对数据吞吐能力和计算延迟要求极高,因此O ri n现有的规模可能只是当前工艺情况下的妥协,可以肯定的是,未来面向自动驾驶的SoC规模还会进一步扩大。在工艺方面,英伟达一开始对Orin SoC采用的工艺和代工情况都闭口不谈,但最终宣布Orin SoC将交由三星代工,使用三星的8nm LPP工艺制造。相比之下,图灵架构的TU102 GPU拥有186亿个晶体管,但是面积高达754mm2。从这个角度来看,Ori n的芯片规模堪比TU102这样的巨无霸产品。

在架构设计上,O r i n S o C采用的是ARM Hercules CPU内核搭配“下一代”GPU架构,也就是之前本刊介绍过的Cortex-A78。在2019年发布会的时候,英伟达尚未明确表示“下一代”GPU架构是什么,当然现在大家都清楚了,Orin SoC使用的正是安培架构的GPU。也就是说,Orin SoC采用的是目前最先进的Cor tex-A78CPU架构搭配安培架构的GPU,更具体一些的话,Orin SoC采用了12核的Cortex-A78处理器,搭配安培架构的GPU后,总体计算能力可以达到INT8200TOPS,相比前代的Xavier的INT830TOPS,大约提升了7倍之多。

这里需要提到的一点是,在之前的SoC产品中,英伟达都倾向采用自研的CPU核心。比如初代DRIVE平台使用的Pa r ke r S o C,采用的是2 个英伟达“丹佛”核心搭配4 个Cortex-A57。接下来的Xavier则采用的是8个英伟达自研的“Carmel”核心。但是在Orin SoC上,英伟达放弃了自研核心方案,采用了A R M提供的Cortex-A78核心,后续最多进行小改动和针对性优化。这一点和目前市场上其他厂商的选择几乎惊人的一致。比如高通之前都会采用自研CPU核心或者半定制核心,但是在近几代SoC产品中都逐渐偏向采用ARM公版方案,三星也基本放弃了自研的“猫鼬”架构转而采用公版方案。这些“殊途同归”的现象在很大程度上显示,现有的技术条件下继续选择自研ARM高性能处理器架构(或者处理器核心)已经很不划算了,其研发投入和技术难度已经大到迫使英伟达这类在高性能核心研发上尚算颇有积累的企业放弃之前的设计思想和成果。这样一来,ARM架构的高性能SoC在同质化问题上就显得颇为突出了。不过另一面则是英伟达可以将更多的资源放在GPU研发上,而不是市场相对较为小众的CPU架构设计。值得一提的是,最新消息显示英伟达正在和控股A R M的软银接触以求彻底收购ARM,一旦英伟达完成收购,未来在ARM架构高性能CPU设计上,英伟达将占有显著的优势。

继续来说CPU架构,本刊在之前的文章中曾介绍过Cortex-A78,简单来说,这款处理器架构是A R M严格按照性能、功率和面积(也就是PPA)进行平衡设计的架构,其主要变化在于分支预测器翻倍,提高电源效率,加入了更多的指令融合内容,重新优化了寄存器设计,缩减了乱序执行窗口,重新调整了指令调度设计,加入了新的AG U等,最终可以在5n m工艺的应用和新架构的改进下带来相对前代产品在同功率范围内大约20%的性能提升。Orin SoC用上Cortex-A78后,考虑到英伟达集成了12个Cortex-A78核心并且Orin SoC工作的功率范围设定会更为宽泛。因此有理由相信,Orin在面对汽车上更多道路信息的时候,凭借更大的功率空间和更高的频率,能够带来更为出色的性能表现。

说完了CPU部分,再来看看GPU。Orin SoC使用的是全新安培架构的GPU,其中值得关注的就是有关深度学习加速器也就是DLA的设计方案。我们知道安培架构中具体实现是第三代张量核心和相关数据压缩功能。根据英伟达的介绍,在配合相关稀疏性功能后,新的第三代张量核心在面对不同类型的计算时都带来了极为出色的效能提升。比如新的架构在计算拥有稀疏性的INT8数据时速度是之前架构的20倍,在计算TF32这种新格式的数据时,在数据具有稀疏性的情况下同样能达到之前处理器架构的20倍。一般来说,自动驾驶使用的数据一般采用INT8格式,并且具有稀疏性,因此在安培架构使用后,整体计算效能会得到显著提升。不仅如此,英伟达目前在硬件单元设计上更偏向使用固定功能进行数据加速,这使得特定任务计算能够拥有更为出色的性能功耗比,这也是SoC设计相当重要的目标之一。

另外,从英伟达给出的Orin SoC图片可以看出,芯片左侧布置了约10组安培GPU核心,右侧则是12个CPU核心。其余部分还包括解码单元、内存控制器、缓存以及外部接口等。整体结构还是颇为复杂的。

除了CPU和GPU外,英伟达还公布了一些Orin SoC的外围数据。比如Orin SoC为车载设备和传感器提供了4个10G bps的网络接口,并且还支持H.265/HEVC/VP9格式的4K@60Hz视频编码或者8K@30H z视频解码。为了支持如此巨大的数据流量,Orin SoC的内存带宽被设定在200G B/s,采用LPDDR5规格和256bit内存位宽。其中内存部分的数据还有待证实,考虑到Orin SoC的上市时间,这样的规格并不令人惊讶。安全特性方面,Orin SoC支持ISO 26262 ASIL-D安全标准。

3倍能耗比提升:OrinSoC的功耗和规模情况

英伟达目前没有公布OrinSoC的功耗情况,只是简单提及其性能是上代产品的7倍,能耗比则是上代产品的3倍。简单计算可知,之前的Xavier的功耗为30W,INT8计算能力为30TOPS,那么其能耗比就是1TOPS/W。相比之下OrinSoC则是3TOPS/W,考虑其200TOPS的总性能,因此OrinSoC的功耗应该大约在65W~70W左右。这个功耗相比现有的车规级SoC来说还是相当高的,但是考虑到OrinSoC的计算能力和英伟达推出了TDP为400W的GPU产品,OrinSoC的功耗又变得不那么难以接受了。

在具体产品实现方面,英伟达宣称OrinSoC在不同配置下,可以满足从L2级别到L5级别自动驾驶设备设计,并且暗示OrinSoC将是一个家族产品线,这意味着英伟达可能会推出不同功耗、性能定位的OrinSoC产品。根据现有的非官方资料来看,如果厂商只实现基本的L2级别的自动驾驶,那么可以采用简化版本的OrinSoC搭配一颗摄像头,其功耗只有15W,计算能力也降低至36TOPS,只需要一颗OrinSoC即可完成。如果是L2+级别的自动驾驶功能,则需要OrinSoC的中等功耗版本搭配4路摄像头才能完成,此时OrinSoC的功耗被限制在40W,计算能力为100TOPS。继续向上,如果要实现L3级别的自动驾驶,需要2颗OrinSoC,以130W的系统功耗实现400TOPS的算力才有希望。L5级别的自动驾驶则要求更高,2颗OrinSoC搭配2个安培GPU,能够实现2000TOPS的算力,功耗也上升至750W。显然,L5级别的自动驾驶在目前的技术水平下尚不成熟,高达750W的功耗也是任何新能源汽车都难以承受的。

写在最后

在最后总的来看,OrinSoC目前的资料显示英伟达将继续走在现有的道路上,依靠更新的工艺和更大规模的芯片来最终实现L5级别的自动驾驶。不过有一点值得关注,在之前发布DRIVEXavier时,一些数据显示2颗XavierSoC搭配2个图灵GPU,就能够在320TOPS、460W的計算能力下实现L5级别自动驾驶。但是在新架构发布后,英伟达将算力目标提升到了2000TOPS,同时功耗也大幅度提升。不过仔细对比之后依旧可以发现,新的OrinSoC和相关平台的每瓦特性能大幅度提升,并且更强的算力有助于设备在更短的时间内完成计算判断并给出最终的处理结果。毕竟在高速行车的途中,一些事故判断时间只有大约1秒甚至更低,更强的计算能力能显著缩短计算机判断时间并带来最佳的处置结果。当然,无论是OrinSoC还是之前的XavierSoC,在短期内由于功耗等问题,都不可能彻底实现L5级别自动驾驶,其高昂的功耗阻碍了这些技术的普及。目前我们依旧在等待更新的技术来提升计算效率或者大幅度降低计算功耗,只有算力继续在可控范围内增加,我们才有望迎来真正意义上的自动驾驶。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!