高性能计算软件平台在多域融合下的挑战与实践
汽车智能化正以一种不可阻挡之势席卷全球,无数的资源、人才、科技巨头纷纷涌入这个赛道。他们的加入,从根本上改变了智能汽车的生态链和竞争格局。智能汽车从单纯的提供自动驾驶功能,转变到了通过用户服务和商业价值来驱动产品创新与迭代,整个行业呈现出“ 乱花渐欲迷人眼 ”的形势。这对于传统汽车供应链和研发人员是一个巨大的挑战,但创新者会感到兴奋。
这场变革不同于以往,如50年前,汽车所表现的形式是机械时代;20年前表现的形式是电子化的时代;而现在,它的表现形式就是软件,通过软件这个载体,完成汽车智能化的工程实现。
01
智能汽车的多域融合趋势
多域融合是智能汽车高性能计算平台的主要技术趋势,它将对汽车研发带来诸多挑战,包括系统层面、软件层面,半导体芯片层面等。
在早期,我们一直在强调L1、L2传感器层面的智能化。而现在,大家谈的更多的是整车级的智能化水平。我们看到很多新车发布,都会谈到整车电子电气架构,有多少个摄像头,有多少个雷达,提升整车的感知能力。也会提到它的算力平台,芯片,OTA等。并且通过硬件预埋,提升整车级的智能化性能。
除了汽车本身的智能化之外, 车路协同也是中国智能网联汽车主推的技术路线。由此衍生的V2X路端技术,车、路、云协同的通讯及同步技术,边缘计算技术等,不仅要有聪明的车,还要有聪明的路。
随着各种智能化新技术广泛应用,算力将成为行业的核心关注点,包括AI计算、MCU等。在谈算力的时候,有个重要的概念是“多核异构”,我们需要思考和理清什么样的任务加载在什么样的硬件平台上,做什么样的计算。
软件重塑汽车产业
同时,软件定义汽车的趋势也越来越明朗。域控制器和中央计算平台让计算原来越集中化,过去依赖软、硬一体化获取盈利的模式正逐步转变成软、硬分离。并且 ,即便是软、硬件分离,软件的代码仍有千万行,L4的系统甚至有上亿行代码,现在又催生出一个软、软分离的概念。这些技术理念的推出,对于整车电子电气架构、车企及供应商的能力带来了全新的挑战。
变化中的机遇
我们可以从一些先行者那里寻找一些启发。上图的zFAS,是装载在奥迪A8上的智能驾驶高性能控制器。作为全球第一款面向量产的具备L3功能的车型,一个控制器同时具备了高速行车和低速泊车的功能。后来,特斯拉推出的NOA系统中,将智能驾驶和智能座舱两个控制器装载在一个控制器盒子里,使得两个控制器之间的通讯直接通过芯片间通讯完成,很好的解决了高带宽数据传输和通讯的问题。包括大众汽车推出的MEB平台,也将传统的ECU进行了整合。在过去的十年里面,很多Global车企已经将不同功能的ECU整合在一起,实现跨域融合。
过去,当大家讨论汽车的产品力时,考虑的是更安全、更舒适、更好的动力,同时提供了一个交通运载的功能。站在今天,我们再去思考智能汽车的产品力,应该是什么?人们对智能汽车的定义已经超出了传统移动工具的边界,更多是强调用户的 智能化体验。而汽车也将演变成为了一个移动的智能化平台,用户可以通过订阅的方式,获取相关的功能和服务。
从这个视角,汽车的功能将重新被定义,整个电子电气架构也将发生巨大变革。
特斯拉对于智能汽车行业的变革的影响是巨大的,他不单单是技术的领导者,也是商业模式的先行者,他比较早就在自研软硬件一体。并且让 软件可以收License,让很多 软件开发者看到自己价值。在汽车行业率先推出SAAS(软件即服务)。
02
高性能计算平台的软件开发挑战
自动驾驶感知及算法的挑战
在自动驾驶的三大技术模块 (感知,规划 / 决策,控制) 中,最复杂和难以预测的是感知模块。智能驾驶的感知领域有五大指标,分别是感知完成功能、性能、可用性、可靠性和可实现性。目前阶段感知技术的重点,已从早期的控制误警率,转变为避免漏识别,最大限度保证驾驶的安全。这就给软件算法、安全架构和传感器提出了挑战。
当我们把自动驾驶感知做一个自上而下的一个解析化分析的时候,会发现,当功能越来越复杂的时候,对误检和漏检的要求也越来越高。设计者就需要设计出一套冗余的工程化方案。比如用轨迹追踪来弥补我的这个感知系统的检测,这些都是从系统层面去解决这个问题。
即使如此,还需要更好的算法,更安全的架构,布置更合理的传感器。
不同级别的自动驾驶,为了完成不同功能的智能体验,车上传感器越来越多。比如摄像头越来越多了,在三年前,大家还在讨论车外面装多少个摄像头,今天大家讨论的是,车内是不是可以少一些摄像头。特斯拉在最早的车型里面,就安装了车内摄像头。现在,有些方案中,一个摄像头用来看驾驶员,另一个广角摄像头用来看车里的其它乘员。这对于计算和布置都是有非常大的挑战。
多传感器还会带来一部分的信息安全问题,以及不同传感器之间融合的问题,而且各个层面的融合,它带来的技术挑战是不一样的。
有一种比较领先的方案,是毫米波雷达ADC转换,把发射波、反射波采集回来,做一些数据处理,之后做聚类,聚类之后再做跟踪,最后形成目标输出。现在通常把ADC采集模拟目标之后的所有数据处理都放到中央大脑去计算。这样子的话,车上有若干个传感器,他们数据的后处理都可以统一地计算,在实现保真度最高的同时,计算的复杂度也最高。
计算与通信的挑战
芯片的算力越来越强,开发者允许用更复杂的网络,不单单是网络的层次越来越复杂,种类也会越来越多。在实际开发中,我们常常发现。SOC芯片里面可能只有两个NPU,就是两个深度学习的模块,但客户可能在上面要跑四个,甚至六个深度学习的模型,针对于不同种类别进行检测,那这个时候算力是够的,需要解决的问题是“算力的合理的分配”。两个计算单元怎么分配到六个模型上。
正因为那么多的传感器的挑战,以及AI的挑战,芯片的使用也会越来越多。大家熟知的有地平线、寒武纪、黑芝麻等,还有一些车企相关公司也在调研,或者已经启动自研SOC芯片计划。这对于开发人员来说又是一个巨大的挑战,因为每个芯片它的底层的驱动和上面的软件是不一样的。换了一个平台之后,之前的开发其实是要推倒重来,这相当于过去的积累,全都白费掉了。在这种情况下,我们如何保证过去的开发资产能够保留下来,在MCU时代,通常的做法是软件分层,应用层和硬件隔离。
但在今天,它不单单是一个MCU了,而是按照功能或计算去区分这个芯片内核应该具备什么样的属性。
现在,比较主流的是把它分成三大类,一个是Safety Processor,是安全功能,比如诊断,功能安全,实时性的控制,都是属于这一块。另外一块我们称之为Performance Processor,它会引入大量的数学计算,比如微分、积分、三角函数的计算,以及微分方程和线性代数的计算。它们会出现在摄像头的坐标转换,路径规划,环境建模等场景。所以performance Processor对于传统的MCU来说,是一个新的事物。另外一块是Ai Processor,就是大家常说的多少TOPS的算力,通常厂商会提供客户化的工具。服务器端的AI深度学习的模型,在Ai Processor上面跑的结果是一模一样的,但在这个过程中,AI的可追溯性、一致性、可靠性,就是一个非常大的挑战。因为在目标板跑和在电脑服务器上面跑,它的精度是不一样的,它的模型也是经过转换的,你要保证它的结果是一样,是有很多Know How在这里边。
大量的传感器将产生越来越多的数据。上图是一个典型的OSI开放互连的七层网络。我们对它的理解是,在底层保证它的确定性通讯,在中间层用DDS或者SOME/IP支持SOA架构,最上层是应用层,解析这些数据。有一点需要注意的是,并不是用了SOME/IP或者TSN就能解决智能汽车通讯问题,它是一个立体的系统解决方案。
开发的的挑战
如今,消费者已经习惯于智能手机行业,每年都有新的产品迭代。而传统的汽车开发周期需要两至三年的时间,这对于汽车产业是一个非常巨大的挑战。如果将开发周期缩短到12个月或九个月,研发人员就需要并行开发,看起来像1个工程师做12个月的工作,转成12个工程师在1个月内完成。但事实上并非如此。因为一个复杂系统,由一个人开发,和拆分成12个子系统,由12个人并行开发,然后集成,这个难度和流程是完全不一样的。开发管理人员需要思考如何通过使用工具和方法去适应产品的快速迭代。
-
软硬件平行开发;
-
快速上市与升级迭代;
-
集成平台;
-
合适的中间件来拼接版图。
安全挑战
安全是所有汽车产品的最低底线,智能汽车的安全将延伸到功能安全,预期功能安全(SOTIF),信息与网络安全。作为软件工程师,有的用Linux开源软件,有的用商业化的QNX软件,还有做软件服务,做安全的,其实我们讲究的是一个软件工程。10个人写的一个软件,和1000个人写的一个软件,它的组织架构、运用的工具,开发形式都完全不一样。
在汽车智能化趋势下,硬件集成带来了成本下降,也带来了软件数量上升和复杂度挑战,需要智能驾驶行业的软件开发,具备成熟的硬件方案和标准化的软件平台,更为关键的是,怀抱开放的心态拥抱百花齐放的生态环境。
-
高效可信赖AI计算
-
高带宽实时通信
-
高安全度软件设计
03
高性能计算软件平台实践:EMOS
高性能计算软件平台EMOS,是映驰科技的核心产品之一,具备高效可信赖的AI计算、高安全度的软件设计以及可实时通讯技术。EMOS 是基于确定性通讯和确定性调度来构建的一个软件平台,能保证对芯片的适配,以及调动芯片最大的算力供应用层开发。同时,从智能驾驶的应用场景去定义中间件应该具备哪些功能。
EMOS是一个异构多核,跨芯片的软件平台,可以提供给厂商自主的硬件研发和应用层软件开发。同时,针对自动驾驶,EMOS的数据库可以帮助开发者,缩短开始周期。
• 提供创新应用
上图的智能高性能计算平台是对智能驾驶、智能座舱和智能网关三域融合的探索,座舱用的是高通的SA8155P,智能驾驶用了2颗地平线的征程3,网关用了NXP的S32G,构成了三域合一高性能计算平台。通过EMOS分别在各个芯片上部署TSN的通讯协议栈,用千兆以太网,把它们互联起来。通过软件平台搭建参考性的应用,目前主要适用于L1到L3的高/低速自动驾驶。基于此,去探索智能驾驶对算力和通讯的需求,以及软件平台应该提供什么样的特点和功能来支撑智能驾驶。