随着自动驾驶作为汽车行业发展趋势以及相关芯片引起高度重视,一下子异构计算芯片成为了行业热点。很多朋友对什么是异构计算芯片很感兴趣,跟着小星详细了解一下异构计算的技术细节、未来趋势和在汽车自动驾驶中的应用吧。

    什么是异构计算

    如何用通俗易懂的话解释异构计算? - 图1

    ↑异构计算架构灵活性和效率

    异构计算“Heterogeneous Computing”是一种特殊的并行分布式计算系统。它能够经济有效地实现高计算能力,可扩展性强,能够非常高效地利用计算资源。与之相对的概念就是同构计算“Homogeneous Computing”,也就是为大家熟知的多核理念。为了突破计算算力受制于功耗的瓶颈,多核CPU技术得到越来越多的应用。强大的CPU采用越来越多的CPU内核这就是传统同构计算系统。很快人们就发现在AI人工智能和自动驾驶爆炸式增长的计算需求下,传统同构计算系统已经无法满足要求,GPU、DSP、FPGA和ASIC由于特定需求下高效性越来越多的被应用。而异构计算技术应运而生,像一个大厨将CPU、GPU、DSP、FPGA和ASIC这些优良食材制成一道融合各方口味特点的佳肴。

    如何用通俗易懂的话解释异构计算? - 图2

    ↑自动驾驶的异构计算系统需求

    比如自动驾驶中的摄像头视觉图像处理的计算需求为例,它分为图像获取、特征抽取、特征处理、模式识别和动作反馈等步骤。其中对大量图像数据的高速并行实时处理比如像素处理、图像金字塔和梯度检测等需要GPU和ISP图像信号处理器这样专用内核来高速计算。而DSP和专用加速器则偏向卷积或傅里叶等数学计算加速,CPU更倾向通用计算和复杂动作反馈决策。依托异构计算技术能够整合这些不同架构的内核到单一芯片中从而适配自动驾驶的复杂计算要求。

    其实现在的AI芯片越来越像人脑,而人脑本身就是典型的异构架构。左脑负责语言和逻辑,右脑负责情感和创造,小脑负责运动和应激反应,各有分工且都不可或缺。

    异构计算芯片典型案例

    如何用通俗易懂的话解释异构计算? - 图3

    ↑异构计算芯片苹果M1

    那么到底什么样的芯片是典型的异构计算芯片呢?

    让我们来举个例子。苹果最新款的Mac Book Air采用了自研芯片苹果M1替代传统的CPU、DDR4内存、IO接口芯片、苹果T2加密芯片和雷电Thunderbolt接口控制芯片的诸多功能。苹果M1集成了8个CPU内核、8个GPU核心和16个神经网络加速引擎。并且这些不同架构的内核可以通过标准内存访问架构UMA进行高速数据共享。是异构计算技术使得如此多不同类型的计算核心可以高效协同。苹果M1以优异的性能功耗比开创了自研异构计算芯片在笔记本电脑市场商用的先河。

    异构计算在自动驾驶中的迭代

    如何用通俗易懂的话解释异构计算? - 图4

    ↑摄像头采集图像进行分层学习

    特斯拉等车厂率先实施人工智能的驾驶辅助系统。其中人工智能的核心技术为深度学习Deep Neural Networks (DNN)。通过对摄像头采集图像进行分层学习,从图像中可以抽取相应的目标位置,路线规划。从而通过深度学习,规划出的路径不再完全依靠车道线,而是基于对于前方目标辨认标识出的安全空间。

    如何用通俗易懂的话解释异构计算? - 图5

    ↑奥迪自动驾驶控制器zFAS

    而自动驾驶控制器当中的计算平台为了实现人工智能的需求,实际上有一个迭代演进的过程。我们以率先量产L3自动驾驶的奥迪A8L为例。其自动驾驶的核心自动驾驶控制器zFAS采用了大量不同架构的计算芯片实现1个激光雷达、5个毫米波雷达和3个摄像头的信号处理和决策。等效算力在2TOPS左右。其核心处理器包括

    -Tegra K1 来自 NVIDIA,用于人工智能机器学习

    -Aurix 来自 Infineon,用于提供符合功能安全和信息安全的驾驶辅助管理

    -Cyclon V 来自 Altera,用于基于FPGA技术高速处理信号融合

    -EyeQ3来自Mobileye,,用于进行视觉信号处理

    如何用通俗易懂的话解释异构计算? - 图6

    ↑特斯拉Autopilot2.0域控制器CCM中央计算模块

    特斯拉演进至Autopilot2.0则将驾驶辅助的控制都合并到了CCM中央计算模块当中。CCM就像车载的强力大脑,它高速处理1个毫米波雷达和8个摄像头信号,算力提升至10TOPS。但它仍采用分立的SOC和GPU架构,包含如下组成部件:

    -Parker SOC + Pascal GPU 来自 NVIDIA,用于人工智能机器学习

    -Aurix 来自 Infineon,用于提供符合功能安全和信息安全的驾驶辅助管理

    -Ethernet Switch 来自 Marvel,用于基于以太网技术的高速信号交互

    如何用通俗易懂的话解释异构计算? - 图7

    ↑特斯拉Autopilot3.0域控制器采用自研异构芯片FSD

    而迭代至Autopilot3.0可以说是自动驾驶中央计算模块的分水岭和里程碑。因为采用自研异构芯片FSD,使得芯片内部集成了3个四ARM A72 CPU核心加GPU和2组神经网络处理单元NPU。它能更高速且低能耗地处理1个毫米波雷达和8个摄像头信号,系统算力大幅提升至144TOPS。这其中异构计算架构功不可没。

    如何用通俗易懂的话解释异构计算? - 图8

    ↑英伟达自动驾驶异构芯片

    作为通用图形处理单元GPU领军者英伟达NVIDIA很快意识到了深度学习神经网络DNN在自动驾驶中的崛起和应用挑战。从而基于异构计算架构推出了一系列定制的SOC芯片。比如小鹏P7采用的Xavier芯片算力为30TOPS,它具有强大的八核ARM64处理核心和512核Volta GPU,并且能够达到汽车安全所需要功能安全ASIL-D(最高等级)的级别。相对整车级别优化了功耗性能比。而即将量产的蔚来ET7配备了ADAM超算平台,算力达到1016TOPS。ADAM超算平台采用了4组英伟达最新的Orin自动驾驶异构计算技术SOC芯片。每组Orin芯片集成了12个ARM A76 CPU核心和算力在200TOPS左右的GPU内核。

    如何用通俗易懂的话解释异构计算? - 图9

    ↑英伟达异构计算软件架构CUDA

    有了优秀的异构计算架构组成的芯片,还需要能够高效协调异构芯片中不同类型计算核心的软件架构才能让自动驾驶如虎添翼。为此英伟达开发了专用的异构计算软件架构CUDA,而其他厂商则抱团组成异构计算软件联盟并推出了相应的OPENCL软件架构。有了高效的软件平台,广大的开发者能够快速的将人工智能算法适配到相应的硬件计算资源,这是异构技术技术在自动驾驶领域高速发展的关键。

    综上所述,依托异构计算技术能够整合CPU、GPU、DSP、FPGA和ASIC不同架构的内核到单一芯片中从而适配自动驾驶的复杂计算要求。而自动驾驶也经历了从复杂分立到高度集成异构计算芯片方案的演进。基于异构计算技术不仅系统算力更强,而且定制的软件架构能够加速自动驾驶算法快速高效的适配。

    希望今天小星的介绍能让大家对异构计算相关技术细节有个深入的了解。