1. 课程导入

自动驾驶从L2辅助驾驶走向L4无人驾驶,感知、预测、规划、控制各环节对算力的需求呈指数级增长。早期分布式ECU架构中,每个传感器或功能模块由独立微控制器处理,算力分散、通信延迟高、难以支撑端到端深度学习模型。随着集中式电子电气架构(E/E Architecture)普及,计算平台逐步收敛为“中央计算+区域控制”的形态,GPU与NPU异构计算成为承载大规模神经网络推理的核心底座。

一、核心原理:从分布式ECU到异构计算平台

自动驾驶计算平台的演进可划分为三个阶段。第一阶段是分布式ECU,各模块独立运行,算力以MCU的DMIPS衡量,典型算力不足1 TOPS;第二阶段是域控制器,将感知、座舱等按域集中,引入GPU做图像预处理与部分推理,算力提升至数十TOPS;第三阶段是中央计算平台,GPU、NPU、CPU、ISP、DSP通过高速片上网络互联,算力可达数百至上千TOPS,支持多模态大模型实时推理。

异构计算的价值在于“让合适的硬件做合适的事”。GPU拥有大量并行流处理器,擅长矩阵乘、卷积、点云体素化等规则稠密计算;NPU采用脉动阵列或张量核心架构,针对INT8/INT4量化推理做能效优化,单位功耗算力远高于GPU;CPU负责调度、控制、逻辑分支与安全监控;ISP处理摄像头原始数据,DSP处理雷达与音频信号。四者协同,才能在功耗、延迟、成本约束下满足车规级实时性要求。

关键指标对照:GPU关注FP16/FP32吞吐与显存带宽,NPU关注INT8 TOPS与能效比(TOPS/W),CPU关注单核性能与实时调度能力,ISP关注多路摄像头并发处理能力。部署工程师的核心任务,是把模型算子合理映射到这些异构单元上。

二、方法流程:异构部署的典型工作流

一个完整的自动驾驶模型部署流程通常包含以下步骤:模型训练与导出、算子兼容性分析、量化与图优化、算子映射与切分、编译生成、板端推理与性能调优。每一步都涉及GPU与NPU的分工决策。

# 典型异构部署流程(示意)
1. 训练框架导出 ONNX / TorchScript
2. 算子兼容性检查:NPU支持列表 vs GPU回退列表
3. 量化校准:FP32 -> INT8,生成校准表
4. 图优化:算子融合、常量折叠、内存复用
5. 算子切分:NPU子图 + GPU子图 + CPU子图
6. 编译:生成 NPU 指令流与 GPU kernel
7. 板端运行:多流并行、零拷贝、流水线调度
8. 性能分析:延迟、吞吐、功耗、内存占用

其中“算子切分”是异构部署的关键难点。若一个模型全部跑在NPU上,遇到不支持算子会触发回退,导致频繁数据搬运;若全部跑在GPU上,功耗与延迟又难以满足车规要求。工程上通常以NPU为主、GPU为辅,把Transformer注意力、大卷积等放在NPU,把自定义算子、动态shape逻辑放在GPU,通过统一内存与零拷贝减少跨设备同步开销。

三、案例场景:BEV感知模型的异构部署

以BEV(Bird's Eye View)感知模型为例,输入为6路摄像头图像,经过CNN backbone提取特征,再通过Transformer或LSS完成视角转换,最后输出BEV特征图供检测头使用。典型部署方案如下:

  • ISP/GPU:6路图像去畸变、归一化、Resize,GPU并行处理,延迟约2~3ms。
  • NPU:Backbone卷积与Transformer注意力层,INT8量化后算力占用约80%,延迟约15~20ms。
  • GPU:自定义BEV池化算子与后处理NMS,FP16精度,延迟约3~5ms。
  • CPU:任务调度、时间同步、安全监控与结果输出。

该方案在单颗SoC上实现端到端延迟约25ms,满足10Hz以上感知频率。若全部使用GPU,功耗会上升约40%;若全部使用NPU,则因算子不支持导致回退,延迟反而增加。这体现了异构计算“分工协作”的核心价值。

四、误区与复盘:常见认知偏差

误区一:算力越大越好。实际部署中,算力利用率比峰值算力更重要。一个1000 TOPS平台若利用率仅20%,有效算力不如500 TOPS利用率60%的平台。

误区二:NPU可以替代GPU。NPU擅长固定算子推理,但动态shape、自定义算子、训练后微调仍需GPU支持,二者是互补关系。

误区三:量化一定掉精度。合理的校准集与逐层量化策略,可在INT8下保持精度损失小于1%,关键在于部署工程师的调优经验。

复盘上述误区,部署工程师需要建立“系统级”视角:不仅关注单算子性能,还要关注数据搬运、内存带宽、多核同步、功耗墙与热设计。异构计算平台是一个资源受限的实时系统,任何单点优化都必须放在整体流水线中评估。

五、课程知识框架与目标

本课程围绕“模型—编译—部署—调优”主线展开,覆盖GPU与NPU异构计算的全链路工程实践。整体知识框架如下表所示:

模块核心内容关键产出
平台与架构SoC异构架构、内存模型、通信机制平台选型与资源评估
模型与算子算子兼容性、量化、图优化可部署模型与校准表
编译与映射NPU编译器、GPU kernel、算子切分异构执行图与指令流
运行时与调度多流并行、零拷贝、流水线低延迟推理引擎
性能与调优Profiling、瓶颈定位、功耗优化性能报告与优化方案
安全与车规功能安全、冗余、OTA可量产部署方案

通过本课程,学员将掌握:如何分析模型算子与硬件匹配度;如何完成INT8量化与精度校准;如何切分NPU/GPU子图并减少数据搬运;如何使用Profiling工具定位延迟瓶颈;如何在功耗、延迟、精度三角约束下做出工程取舍。最终目标是具备独立完成自动驾驶模型异构部署与调优的能力。

自动驾驶异构计算平台:传感器 → 计算单元 → 执行输出 传感器输入 6× 摄像头 激光雷达 / 毫米波 IMU / GNSS ISP / 预处理 去畸变 / 归一化 Resize / 色彩转换 多路并发 异构计算核心(SoC) NPU INT8 张量推理 Backbone / Attention 高能效比 TOPS/W GPU FP16 并行计算 自定义算子 / 后处理 高吞吐显存带宽 CPU 任务调度 / 逻辑控制 安全监控 / 时间同步 实时操作系统 统一内存 / 缓存 零拷贝共享 高带宽 LPDDR 内存复用与池化 感知 / 预测 / 规划输出 BEV特征图 · 目标检测框 · 轨迹预测 · 控制指令 端到端延迟目标:≤ 25ms(10Hz以上) 异构计算核心:NPU主推理 · GPU辅算子 · CPU调度 · 统一内存降低搬运开销