来源 | 汽车电子与软件
知圈 | 进“高精度地图社群”,请加微信15221054164,备注地图
概述随着人工智能的热潮和AI算法的广泛应用,深度学习已成为当前AI研究的重点,在自动驾驶领域,环境感知、传感器融合、控制决策等等都会多少涉及到深度学习,而自动驾驶性能的优劣直接和AI算法相关,说白了就是深度学习算法的优劣。要想在面对海量数据的并行运算的同时做到高效、可靠,那就意味着承载AI算法的计算平台需要提供足够的性能加速,也就是AI芯片的算力要足够用,同时考虑其他因素,功耗还不能超标,能效比越高越好。在AI芯片领域,可供选择的,首先是需要一个CPU或者ARM内核来执行调度处理,然后大量的并行计算靠GPU、FPGA或者ASIC来完成,而ASIC里面有多种架构,谷歌的TPU、地平线BPU、寒武纪和华为都推出的NPU等。
之前看过一篇文章,关于GPU等AI芯片如何处理深度学习的,简单整理一下加深记忆。
CPU和GPU都属于通用芯片,不过GPU在近几年专门针对AI算法加强了并行计算单元,因此除CPU外,GPU、NPU、FPGA等芯片作为AI算法的硬件加速器在不同的应用场景和深度学习算法中发挥着各自的优势,且听一一道来。
在自动驾驶算法中,感知算法是作为一切自动驾驶控制处理的基础,环境感知中主要是靠摄像头和激光雷达,而且以摄像头视觉处理居多,因此以摄像头视觉深度学习算法中的人脸识别为例,其基本处理流程及对应功能模块所需的算力需求分布如下:
视觉算法中,先是摄像头获取图像,然后经过CPU或GPU进行预处理,也就是基本的判断识别和任务分配,然后就需要进行大量的数据计算分析,这时候GPU、NPU或者FPGA等AI芯片开始派上用场。之所以会这样,这就涉及到了作为通用芯片CPU和AI计算芯片GPU等的原理架构方面的区别了。
CPU和GPU的原理/架构对比
CPU(CentralProcessing Unit)中央处理器,是一块超大规模的集成电路,主要逻辑架构包括控制单元Control,运算单元ALU和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。简单说,就是计算单元、控制单元和存储单元。
架构图如下所示: