Waymo背后的巨人:英特尔提供计算平台

2018-07-26 10:19:31·  来源:佐思汽车研究  
 
全球公认最领先的无人车公司Waymo的计算平台是谁提供的?Waymo肯定不想让太多人知道。
全球公认最领先的无人车公司Waymo的计算平台是谁提供的?Waymo肯定不想让太多人知道。

从谷歌2009年开始开发无人车,计算平台一直都是用英特尔的,直到最新的克莱斯勒大捷龙无人车,采用了英特尔的Xeon服务器芯片、Altera的FPGA和英特尔的以太网关芯片,据说还使用了XMM系列Modem芯片做数据传输。

实际不止是Waymo,百度计算平台有两部分,一部分使用台湾Neousys Nuvo-6108GC工控机,这款工控机使用英特尔双至强E5-2658 V3 12核CPU,主要用来处理激光雷达云点和图像数据。另一部分为Xilinx的KU115,这是一款2014年底发布的强大的FPGA。福特、通用也很有可能采用了类似的设计,就是英特尔的CPU+FPGA计算平台。Waymo、百度、福特、通用代表着全球最顶尖的无人车技术,也是全球最大的无人车车队。

现在的FPGA早已不是当年的简单地把寄存器和LUT整合在一起的白纸了,而是越来越像ASIC,或者说SoC。现在的FPGA都包含了复杂的接口资源,收发器资源,存储器资源和大量的DSP资源(拥有类似GPU的强大浮点运算能力),有些则直接加入了多个ARM内核。单纯的FPGA几乎不存在了。现在的FPGA就是一个小的系统。

智能驾驶和人工智能领域不可能用ASIC,因为ASIC的开发周期太长,最少也需要3-5年才能量产,而人工智能算法迭代速度很快,几乎是每半年就迭代一次,而智能驾驶的传感器领域日新月异,特别是激光雷达领域,新技术层出不穷。所谓人工智能ASIC,没出厂就已经过时,被时代抛弃了。



上图为Waymo的计算平台架构,采用Altera的FPGA,可能是Arria 10 GT1150。售价大约4000到5000美元。Altera的FPGA共有四大系列,分别是顶配的Stratix系列、成本与性能平衡的Arria系列、廉价的Cyclone系列、带NVM的MAX系列。Stratix系列多在近万美元以上,Cyclone系列多在10-20美元之间,Arria系列大约在2000-5000美元之间。



Arria系列再细分10、V、II、GX四个系列,10系列为最新产品,于2013年推出,采用20纳米工艺,GX为第一代产品,2007年推出,采用90纳米工艺,II系列为2009年产品,采用40纳米工艺,V系列为2011年产品,采用28纳米工艺。10系列再分为带ARM内核和不带ARM内核两大类。ARM内核为双A9内核。



GT1150除了标准FPGA的1150K个逻辑元素外,还拥有1518个硬核单精度浮点运算乘法器/加法器,3036个18*19乘法器。最终能够获得3340GMACS(等于每秒百万次的定点乘累加运算),还有1366 GFLOPS的浮点运算能力。Stratix系列的某些产品拥有9200 GFLOPS的浮点运算能力。

Xilinx方面,以最常见的KU115为例。



以深度学习、高性能运算、图形科学领域最常见的Kintex FPGA来看,国内百度、腾讯、阿里都采用了KU115做计算加速。这款FPGA集成了大量资源,包括各种片上存储器,Xilinx的FPGA中主要有分布式RAM 和 Block RAM 两种存储器。用分布式RAM 时其实要用到其所在的SliceM,所以要占用其中的逻辑资源;而Block RAM 是单纯的存储资源,但是要一块一块的用,不像分布式RAM 想要多少bit都可以。顶级的Virtex系列FPGA更继承了高达8GB的HBM高宽带内存。时钟方面,有MMCM/PLL。MMCM(mixed-mode clockmanager):混合模式时钟管理器,用于在与给定输入时钟有设定的相位和频率关系的情况下,生成不同的时钟信号。PLL(phase-locked loop):锁相环,主要用于频率综合,使用一个PLL可以从一个输入时钟信号生成多个时钟信号。这些主要用在收发器领域。

KU115里还包含5520个DSP,能够大幅度提高图像和视频类任务的处理速度,这是类似GPU的并行运算架构,可以说这片FPGA还包含一个小GPU。这个DSP可以对应乘法累加器、乘加器或单步/n步计数器。级联多个DSP48E逻辑片可执行复杂的功能。例如,不使用额外的FPGA架构资源的情况下实现复杂乘法器或n阶FIR滤波器。对某些如FFT运算,速度大大提升。Virtex系列顶配有12288个DSP,性能达21897GMAC/s。



Xilinx的Soc+FPGA系列产品则完全可以叫SoC了,其不仅包含多个ARM CPU内核,还有针对安全领域的R5内核,还有Mali 400这样的GPU,最夸张的是RFSoC把射频的ADC/DAC也集成了,还有SD-FEC。



也有无人车基于Xilinx的Soc+FPGA,这就是Perrone Robotics,用两片FPGA完成工控机的运算性能,架构如上图。这家公司在2004年就成立了,这家公司是一家机器人软件平台开发公司,其为自动驾驶车辆以及通用机器人开发了一个完整的全栈实时的软件。Perrone Robotics主要投资者是英特尔,德国工业巨人利勃海尔和FPInnovations。与激光雷达厂家Quanergy、Velodyne、Sick都有紧密合作。



别人家的无人车后备箱都是工控机,大风扇还有散热片,而Perrone Robotics就用这么一个小盒子,里面核心正是Xilinx的UltraScale系列的XCZU9EG-FFVB1156ACZ1537FPGA。



ZU9EG并非此系列中最顶级的,除了600K的逻辑元素外,还有2520个DSP。相对KU115弱很多,但是ZU9EG拥有4个A53内核,主频达1.5GHz,两个应对实时任务的R5内核,主频600MHz,还有一个Mali 400MP2 GPU内核,性能虽然只有12GFLOPS,总聊胜于无,并且还有2520个DSP嘛。



上图为EG系列内部框架图,跟SoC几乎没区别。

无人车领域比较新的技术如TSN网络交换器,因为ASIC开发周期长,大部分厂家都会选择用FPGA代替,此外TSN协议复杂,标准延续的周期很长,恐怕很长一段时间内都是用FPGA代替。



除了无人车,ADAS领域FPGA用的更多,奔驰S系列每辆车使用多达18个FPGA。FPGA最突出优势是功耗极低,一般只有同样性能GPU的1/10。这使得FPGA更容易通过严苛的车规级认证,特别是高等级的ISO26262认证。



以上为三款典型视觉类ADAS系统拆解,博世使用了Xilinx的芯片,从而减少使用一个MCU。TRW的SCam3用在通用汽车上,博世的MPC2用在大众汽车上,Continental的MFC430TA用在丰田汽车上。双目系统除了斯巴鲁外都是使用Xilinx的FPGA。



最后是深度学习领域,随着深度学习朝向低精度发展,FPGA大展宏图的时机来了。





FPGA可以灵活对应不同精度的深度学习。



训练阶段用KU115做加速,推理阶段用MPSOC。

说了FPGA这么多好处,但FPGA有个致命缺陷,那就是价格比较高。


分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号