“自动驾驶所需要的计算力,是过去任何一台计算机都没有达到过的。” NVIDIA的掌门人黄仁勋曾在公开场合不止一次的说过这句话。
这句话背后,还有另一层意思。2010年之后,GPU类处理器内部的晶体管数量还保持着快速增长的势头,而CPU已经出现了明显的放缓。
“摩尔定律已经终结,晶体管数每年增长50%,但CPU的性能每年仅增长10%,设计人员无法再创造出可以实现更高指令级并行性的CPU架构。”在2017年的GTC China上,NVIDIA的掌门人黄仁勋如是说。
NVIDIA是一家研发生产GPU的公司,对GPU自然有区别于他人的崇拜,捧GPU贬CPU可以理解。但,摩尔定律确实失效了。
NVIDIA是一家传统消费电子厂商,但在汽车领域也不是完全的新手。早在2005年,NVIDIA就开发了用于3D导航信息系统的Tegra处理器,2011年用在了奥迪A8豪华车型上。
到目前为止,NVIDIA的汽车电子业务占该公司47亿美元销售额的4%。2015年,NVIDIA发布了针对自动驾驶的DRIVE PX系列,开启了自动驾驶领域的驰骋,一时也成为了市场宠儿,股价扶摇直上。
支撑起这一切的,是NVIDIAGPU给自动驾驶带来的想象——DRIVE PX运算力强大,是自动驾驶必备的运算力平台。这正应验了黄教主开头所说的话,此话不仅被竞争对手英特尔听了去,同时也被股民听了去。
那么,自动驾驶到底需耗费多少算力?谁是算力的最大消耗者?GPU碾压CPU,NVIDIA超车英特尔已成定局?
视觉处理是大头
自动驾驶的实现,需要依赖感知传感器对道路环境的信息进行采集,包括超声波、摄像头、毫米波雷达、激光雷达等,采集的好的数据需要传送到汽车中央处理器进行处理,用来识别障碍物、可行道路等,最后依据识别的结果,规划路径、制定速度,自动驱使汽车行驶。
整个过程需要在瞬时完成,延时必须要控制在毫秒甚至微秒级别,才能保证自动驾驶的行驶安全。
要完成瞬时处理、反馈、决策规划、执行的效果,对中央处理器的算力要求非常高。
最直观的体现,便是用于感知道路环境的摄像头,通常密布车身,数量在12个左右,为了识别障碍物,处理器需要对多路摄像头实时拍摄的数据进行解析,而单颗1080P的高清摄像头每秒可以产生超过1G的数据,数据量不可谓不大。而为了准确识别图像、视频中的有效信息,业内多采用深度学习神经网络。
深度学习神经网络尤其是几百上千层的神经网络对高性能计算要求非常高,GPU对处理复杂运算拥有天然的优势:它有出色的并行矩阵计算能力,对于神经网络的训练和分类都可以提供显著的加速效果。
适用于自动巡航功能的 NVIDIA DRIVE PX 2 计算平台采用新型单处理器配置,功率仅为 10 瓦,可以帮助车辆利用深度神经网络处理来自多个摄像头和传感器的数据,运算力达到了24 Tops。
Tops(Terra Operations per second)是一个单位,意为每秒运算10^12次,也称万亿次。这种说法通常用于表示处理器的运算力。
但汽车是一个终端,对功耗要求苛刻,因此根据TI的官方报告,通常对效率、功耗、算力要求较高的时候,对运算力的表述更为贴切的是GOPS/W of TOPS/W,即消耗单位瓦数可以完成多少运算量。
业内人士表示,在自动驾驶中,最耗费算力的当属视觉处理,占到全部算力需求的一半以上。而图像处理是GPU的强项,CPU并不占优势,这一点已经在传统领域得到了验证。
Mobileye的ADAS霸业
那么视觉处理中,不同等级自动驾驶中对算力的要求有什么区别?每一家公司在权衡之后,选择特定的视觉芯片方案有什么原因?Minieye的CEO刘国清在面对《高工智能汽车》的提问时表示,这是一个业内人士都知但不为外人道的话题。
嗯,听起来很神秘,但想要找到答案其实也并不难。
Mobileye是自动驾驶领域视觉处理最领先的公司(这是基于其市场占有率以及车载领域的经验而言)。
从2004年开始,Mobileye相继推出了EyeQ系列的视觉处理芯片,2010年上市的EyeQ2算力为 0.026Tops,功耗2.5w,支持L1的功能;2014年发布的EyeQ3每秒浮点运算为0.256万亿次,功耗为2.5w,支持L2;2015年发布EyeQ4每秒浮点运算可达2.5万亿次,功耗为3w,最高可支持L3;EyeQ5计划于2020年量产,单颗芯片的浮点运算能力为12Tops,TDP是5W。
Mobileye通过EyeQ芯片,驱动单颗摄像头,可以采集路面信息,对周围环境进行精细解读,实现前碰撞预警(FCW)、前方车距监测与预警系统(HMW)、车道偏离预警系统(LDW)、行人探测与防撞系统(PCW)、城市前碰撞警告 (UUFCW 与智能远光灯控制系统(IHC)等功能,准确预测前方道路可以出现的障碍和危险。
其识别准确率达99.99%,到目前为止,已有超过千万的出货量,占市场份额超过70%。特斯拉的AutoPilot 1.0的硬件方案就选用了Mobileye的EyeQ3。
Mobileye通过使用专有的计算cores(加速器)实现功耗 - 性能成本目标,这些cores专门针对各种计算机视觉,信号处理和机器学习任务进行了优化,其中包括深度神经网络。
这些加速器内核专为满足ADAS和自动驾驶市场的需求而设计。每个EyeQ ®芯片具有异质的,完全可编程的加速器; 每种加速器类型都针对其自己的算法系列进行了优化。
加速器体系结构的多样性使应用程序能够通过为每项任务使用最合适的内核来节省计算时间和芯片功耗。优化任务cores的分配从而保证了EyeQ ® 在低功耗范围内提供“超级计算机”功能,实现高性价比的被动散热。
Mobileye的core是包含一组工作在1GHZ的工业级四核MIPS处理器,支持多线程技术能更好的进行数据的控制和管理; 多个专用的向量微码处理器(VMP(Vector Microcode Processor,俗称VMP)),用来应对ADAS相关的图像处理任务(如:缩放和预处理、翘曲、跟踪、车道标记检测、道路几何检测、滤波和直方图等);一颗军工级MIPS Warrior CPU位于次级传输管理中心,用于处理片内片外的通用数据。
自动驾驶算力之争,NVIDIA领衔
Autopilot 2.0 使用了Drive PX2,DRIVE PX 2有多个版本,AutoCruise,搭载一颗Tegra Parker,主要支持高速公路自动驾驶和高精地图绘制的计算;AutoChauffeur,搭载2颗Tegra Parker和2颗独立的Pascal架构GPU,支持点到点的自动驾驶;Fully Autonomous Driving,由多套Drive PX2组成的计算矩阵。
NVIDIA2015年推出了Drive PX系列,第一代Drive PX搭载TegraX1处理器和10GB内存,能够同时处理12个200万像素摄像头每秒60帧的拍摄图像,单浮点计算能力为2Tops,深度学习计算能力为2.3Tops,可支持L2高级辅助驾驶计算需求。
2016年发布的Drive PX2,单精度计算能力达到8TFlops,深度学习计算能力达24Tops,TDP达250W,可满足L3级别的自动驾驶需求。
Drive PX2采用16nm FinFET工艺,TDP 250W,支持12路摄像头输入、激光定位、雷达和超声波传感器。
它的目的是通过NVIDIA DIGITS打造一套车辆的深度学习训练平台,让每辆安装Drive PX2的车辆都成为都成为NVIDIA DRIVENet深度神经网络一部分,它将包括3个卷积码层,3700万个神经元。传说如果一条信息要在整个网络流经一次,将会产生400亿次操作。
根据黄仁勋在BCW 2017的表述,Drive PX2的方案是针对L3的方案(作为参考的是奥迪A8推出的有限场景下的L3级自动驾驶,采用的ZF ProAI正是使用了NVIDIA Tegra K1 SoC,及Drive PX2 AutoCruise版本,当然负责视觉处理的还是Mobileye的EyeQ3),而Xavier则是针对L4的方案,Xavier的运算力达到了1Tops/W。Drive Xavier于2018年发布,算力可达30Tops,TDP为30W。
到目前为止,黄教主给L3、L4级别的自动驾驶算力,列出了自己心目中的标准。这一标准由于标新立异,还未有人敢质疑。
自动驾驶公司在进行新项目的研发时,也往往以NVIDIA的开发板为首。传统的芯片巨头英特尔,在巨资收购Mobileye后,心里还不踏实,因为Mobileye一直针对的是ADAS,其量产的EyeQ3芯片0.256Tops的算力,跟NVIDIA PX2的8/24Tops相比,似乎差了一个时代。
算力的焦虑在困扰着Inter这个巨头,自动驾驶公司同样也不轻松,开发中可以使用NVIDIA打底,量产方案却少有人尝鲜。
这一方面是源于价高非车规级,另一方面NVIDIA也需要汽车市场的验证。另一头Mobileye的EyeQ系列,基本为自用,不放心外人擅自开发,NVIDIA和Mobileye的分手据传也缘起于此。
那么,留给自动驾驶公司的芯片方案,还有哪些呢?市场应声者寥寥无几,NXP、高通、英飞凌等公司,推出的都是针对较低自动驾驶等级的ADAS芯片方案,目前一些有量产项目的ADAS公司,采用的也多是这些传统车载芯片领域厂商的产品。这些厂商之间的方案有什么异同?后面将继续探讨……
获取更多评论