软件硬件关系图的理解(软件与硬件关系)
以蔚来ES8使用的Mobileye EyeQ4芯片为例,其最高运算速度为2.5TOPS,功耗仅为3W。奥迪A8、沃尔沃XC90、特斯拉Model S等自动驾驶Model S搭载MobileyeEQ 3芯片,最高运算速度0.256TOPS,功耗2.5W,也能满足自动驾驶L2~L3所需的运算能力。
除了地平线征途系列和Mobileye EyeQ系列,谷歌的TPU系列和寒武纪Cambricon1M系列也属于ASIC芯片。
当然,ASIC芯片的缺点是显而易见的,因为它是为特定的算法而设计的。芯片一旦设计出来,它所适应的算法是固定的,所以一旦算法发生变化,就可能无法使用。但随着自动驾驶软件和算法越来越成熟稳定,车企会选择自主研发一款与自身技术方案相匹配的自动驾驶ASIC。
不同架构的性能和灵活性比较
3.以Xilinx公司的ZYNQ系列为代表的现场可编程门阵列。FPGA是在PAL、GAL、CPLD等可编程器件基础上进一步发展的产物。这些功能可以通过烧写FPGA配置文件来定义这些门和存储器之间的连接来实现。FPGA可以同时进行数据并行和任务并行计算,可以实现比GPU更高的并发处理。在密集处理和高并发上更胜一筹,功耗低于CPU和GPU。虽然FPGA很有前景,但它并不是专门为深度学习算法开发的,在实际应用中有很多局限性:
1.基本单元的计算能力是有限的。为了实现可重构特性,FPGA中有大量非常细粒度的基本单元,但每个单元的计算能力(主要依靠LUT查找表)远低于CPU和GPU中的ALU模块。
2.计算资源占比相对较低。为了实现可重构特性,FPGA中的大量资源用于可配置的片上布线和连接;
3.速度和功耗相比ASIC还有很大差距;
4.FPGA比ASIC贵,单个FPGA的成本比ASIC高很多。
林思ZYNQ系列自动驾驶芯片
4硬件和软件& # 8212;肉体和灵魂如果把软件比作未来汽车的灵魂,那么承载软件的硬件就是灵魂赖以存在的肉体。
灵魂和肉体密不可分,软件和硬件也是共生关系。
没有高性能的硬件,软件无法发挥自身优势,软件不够优化,再强大的硬件也无法发挥自身性能。智能软件结合强大的硬件,才能让自动驾驶技术最终服务于人类。
未来的汽车将是一个拥有强壮身体和聪明大脑的有机体!
智能汽车是软件和硬件的有机体。
现在回到开头的问题:
以网络名人美国消费电子掌门人苹果为例。这家以手机操作系统为核心竞争力的软件生态公司,在每一次新品发布会上,出人意料地花大量时间介绍其产品在硬件方面的黑科技。其实我们在生活中也有这种感觉。用旧电脑玩最新的大型游戏完全不可能,用旧手机装新系统让人怀疑人生。所以软件在前面发光,硬件在后面默默支持。
苹果在2020年的秋季发布会上推出了A14苹果芯片。
2自动驾驶落地需要硬件(AI芯片)的计算能力来支持自动驾驶的实现,需要依靠传感传感器来收集道路环境的信息,包括超声波、摄像头、毫米波雷达、激光雷达等。收集到的数据需要传输到汽车的中央处理单元进行处理,从而识别障碍物、可行道路等。最后根据识别结果规划道路,设定速度,自动驾驶汽车。整个过程需要瞬间完成,延迟必须控制在毫秒甚至微秒,以保证自动驾驶的行车安全。要达到即时处理、反馈、决策规划和执行的效果,对中央处理器的计算能力要求很高。最直观的体现就是用来感知道路环境的摄像头,一般都是密密麻麻的车,数量在12个左右。为了识别障碍物,处理器需要实时分析多个摄像头拍摄的数据,而单个1080P高清摄像头每秒可以产生1G以上的数据,数据量不小。为了准确识别图像和视频中的有效信息,深度学习神经网络被广泛应用于业界。
深度学习由两部分组成:训练和推理。
深度学习的基本思想是将任何事物转化为高维空间中的向量,而强大的神经网络是众多矩阵运算和简单非线性变换的结合。深度学习神经网络的本质是通过将乘法的乘积结果与累加器的值相加,将分析过程抽象为乘法累加计算,然后存储在累加器中。深度学习的关键理论是线性代数和概率论,剩下的都是蛮力计算,所以深度学习神经网络,尤其是几百层的神经网络,需要非常高的性能计算!因为计算能力越高,在一定时间内可以处理的信息越多,决策的准确性也会越高!研究表明,自动驾驶仪每升一级,计算能力都会提高一个数量级。L2级别只需要2 TOPS(每秒万亿次浮点指令)的计算能力,但L5需要4000多TOPS的计算能力。
如果说传统燃油车的性能很大程度上取决于发动机功率,那么未来自动驾驶汽车的品质很大程度上取决于AI芯片的数字发动机!
3自动驾驶仪硬件(AI芯片)的架构分类由于自动驾驶仪对高计算能力和低功耗的强烈需求,单靠传统的CPU控制芯片已经不能满足该领域的应用需求。CPU最大的优势就是灵活性。通过冯诺依曼架构,我们可以为数百万不同的应用程序加载任何软件。但由于CPU非常灵活,硬件在读取软件的下一条指令之前,并不总能知道下一次计算是什么。CPU必须将每次计算的结果存储在内存中(也称为寄存器或L1缓存)。内存访问已经成为CPU架构的短板,被称为冯诺依曼瓶颈。虽然神经网络大规模运算的每一步都是完全可预测的,但是每个CPU的算术逻辑单元(ALU,控制乘法器和加法器的部件)只能逐个执行,并且每次都需要访问内存,这就限制了整体的吞吐量,需要消耗大量的能量。总之,虽然CPU可以非常高效地处理各种计算任务,但是CPU的局限性在于一次只能处理相对较少的任务,因此其计算速度要求无法满足深度学习这种需要优秀并行矩阵计算能力的应用场景的要求!
CPU已经不能满足未来自动驾驶芯片的要求。
目前L3以上自动驾驶领域使用的主控芯片,按照技术架构主要分为三类:
1.以NVIDIA的DRIVE PX平台为代表的图形处理单元(GPU)。GPU在执行单一任务时效率较低,可以处理的任务范围较小。但是GPU的强大之处在于可以同时执行很多任务,所以在处理复杂运算时,GPU有着天然的优势。比如需要乘以3个浮点数,CPU会比GPU好;;但如果需要3个浮点数乘以100万次,GPU就会碾压CPU。实践证明,GPU可以为神经网络的训练和分类提供显著的加速效果。
然而,GPU在应用于深度学习算法时仍然有四个限制:
1.并行计算的优势在应用过程中无法充分发挥。深度学习包括两个计算环节:训练和推理。GPU在深度学习算法训练中效率很高,但从单一输入进行推断时,并行的优势无法充分发挥。
2、无法灵活配置硬件结构。GPU采用SIMT计算模式,硬件结构相对固定。目前深度学习算法还不完全稳定。如果深度学习算法变化较大,GPU无法灵活配置硬件结构。
3.GPU还是通用处理器,这就把我们带回了基本问题——冯诺依曼瓶颈。在一次数千个alu的计算中,GPU需要访问寄存器或共享内存来读取和保存中间的计算结果。所以GPU要想在其ALU上进行更多的并行计算,也会消耗更多的能量来按比例访问内存,同时也会因为复杂的线路而增加GPU的物理空间占用。所以GPU为了提高运行速度,选择堆内核,导致体积不占优势;
4.GPU耗电巨大。NVIDIA的Drive PX和Xavier虽然性能强劲,但整体功耗达到了250w,会对汽车的动力系统造成一定压力。一般情况下,汽油车只有在发动机启动驱动空调等高耗电设备功能时才能发电。如果自动驾驶的控制核心必须消耗数百瓦的功耗,虽然理论上可以在怠速时关闭大部分针对自动驾驶的计算功能以节省功耗,但仍然会对燃油车的传统电池造成相当大的压力。即使是电动车,如果非电机部分需要消耗这么多电,在里程上也会有一定的减损。而如果开启自动驾驶,为了计算外界环境,掌握变化,随时应对行驶情况,这些控制核心理论上要连续满负荷工作,没有机会进入可以降低功耗的休息模式。
自动驾驶的芯片需要实时整合海量数据,从而判断驾驶环境,决定驾驶策略。
二是以地平线公司的征途系列为代表的专用集成电路。ASIC芯片的计算能力和效率是根据具体算法的需要直接定制的,因此可以实现体积小、功耗低、可靠性高、保密性强、计算性能高、计算效率高等优点。因此,在其具体应用领域,ASIC芯片的能效表现远超CPU、GPU、半定制FPGA等通用芯片。
Horizon Journey 3芯片的计算能力为5TOPS,功耗仅为2.5W
硬件和软件& # 8212;如果皮肤不存在,头发怎么附着?软件和硬件从来都是相互依存的共生关系,硬件是软件的载体,软件是硬件的表现形式,软件决定硬件的控制水平,硬件决定软件的功能边界。
未来的汽车会被软件定义吗?
答案是肯定的,因为软件是未来汽车非常重要的一部分!答案显然是否定的,因为未来的汽车是由软件定义的,也是由硬件定义的!