一、嵌入式GPU概述:什么是嵌入式GPU、主流嵌入式GPU平台(Jetson、瑞芯微、算能)、GPU vs CPU vs NPU
大家好,我是你们的讲师。今天咱们聊聊嵌入式GPU。说实话,这个领域我摸爬滚打了快十年,踩过的坑比走过的路还多。但别担心,我会把最实用的东西掏出来给你。
1.1 什么是嵌入式GPU?
嵌入式GPU,说白了就是专门给嵌入式设备用的图形处理器。它跟桌面显卡不一样,功耗低、体积小,但该干的活一样不少。
我个人习惯把嵌入式GPU分成三类:
- 集成在SoC里的GPU:比如Jetson系列、瑞芯微的RK3588。它们跟CPU、NPU挤在一个芯片上,省地方、省电。
- 独立嵌入式GPU:像一些工业级的GPU模块,可以单独插在板子上。但说实话,现在用得越来越少了。
- 异构计算单元:有些芯片把GPU、NPU、DSP揉在一起,你分不清谁是谁。但干活的时候,它们各显神通。
核心要点:嵌入式GPU不是桌面GPU的缩水版,而是为特定场景优化的加速器。它擅长并行计算,尤其适合图像处理、视频分析、轻量级AI推理。
我在项目中遇到过最典型的场景:一个巡检机器人,需要在板子上实时跑YOLOv5。用CPU跑,一帧要200毫秒,根本没法用。换成Jetson的GPU,直接干到30毫秒。嗯,这就是差距。
1.2 主流嵌入式GPU平台
目前市面上主流的平台,我接触过的就三家:NVIDIA Jetson、瑞芯微、算能。每家都有自己的脾气。
1.2.1 NVIDIA Jetson系列
Jetson是我用得最多的平台。从TX2到Orin,一路跟过来。它的优势很明显:CUDA生态太强了。你想想看,桌面端写的CUDA代码,稍微改改就能跑上去。
| 型号 | GPU算力 | 典型功耗 | 我的评价 |
|---|---|---|---|
| Jetson Nano | 472 GFLOPS | 5-10W | 入门神器,但跑大模型有点吃力 |
| Jetson TX2 | 1.3 TFLOPS | 7.5-15W | 老将,稳定但性能一般 |
| Jetson Orin NX | 70 TOPS (INT8) | 10-25W | 真香,我最近项目都在用 |
| Jetson AGX Orin | 275 TOPS (INT8) | 15-60W | 性能怪兽,但散热是个问题 |
个人建议:新手入门选Nano,做产品选Orin NX。别问我为什么,问就是性价比。
1.2.2 瑞芯微系列
瑞芯微的芯片,我最早接触的是RK3399,后来是RK3588。说实话,它们的GPU(Mali系列)性能不如Jetson,但胜在便宜、功耗低。
我记得有一次给客户做方案,预算卡得死死的。最后选了RK3588,用它的NPU跑模型,GPU做显示渲染,CPU做控制。嗯,分工明确,效果还不错。
- RK3588:Mali-G610 GPU,3 TOPS NPU。适合做边缘盒子、智能摄像头。
- RK3568:Mali-G52 GPU,1 TOPS NPU。入门级,跑轻量模型还行。
- RV1126:没有独立GPU,全靠NPU。适合纯视觉应用。
避坑指南:瑞芯微的GPU驱动有时候会出幺蛾子。我曾经花了两天时间,就为了把OpenGL ES 3.2跑起来。后来发现是内核版本不匹配。嗯,选平台时一定要确认驱动支持情况。
1.2.3 算能系列
算能(SOPHGO)是后起之秀。它们的BM1684、BM1684X系列,主打TPU(张量处理器)。说实话,它的GPU能力一般,但TPU做AI推理是真快。
我去年用BM1684X做过一个项目,跑ResNet-50,INT8量化后,推理延迟只有2毫秒。比Jetson Nano快了一倍。但代价是生态不够成熟,很多库得自己编译。
| 型号 | TPU算力 | GPU能力 | 适用场景 |
|---|---|---|---|
| BM1684 | 17.6 TOPS (INT8) | 一般 | AI推理为主 |
| BM1684X | 32 TOPS (INT8) | 一般 | 高吞吐推理 |
| SG2042 | 64 TOPS (INT8) | 较弱 | 服务器级边缘推理 |
1.3 GPU vs CPU vs NPU
这个问题,我每次上课都会被问到。你想想看,这三兄弟到底有啥区别?
1.3.1 核心架构差异
- CPU:大核、少核。擅长复杂逻辑、分支预测、串行任务。说白了,它是个全能选手,但一次只能干一两件事。
- GPU:小核、多核。擅长并行计算,尤其是矩阵运算。一个GPU有几千个CUDA核心,可以同时处理成千上万个线程。
- NPU:专用核、固定流水线。专门为神经网络设计,对卷积、池化等操作做了硬件优化。效率最高,但只能干AI推理这一件事。
打个比方:CPU是大学教授,什么都会但一次只能教一个学生;GPU是小学老师,能同时教一个班;NPU是流水线工人,只会拧螺丝,但拧得飞快。
1.3.2 性能对比(以ResNet-50推理为例)
| 处理器 | 推理延迟 | 功耗 | 灵活性 |
|---|---|---|---|
| CPU (ARM A76) | ~150ms | ~5W | 高 |
| GPU (Jetson Orin) | ~5ms | ~15W | 中 |
| NPU (BM1684X) | ~2ms | ~8W | 低 |
看到了吧?NPU最快,但只能跑AI模型。GPU次之,但还能做图像渲染、通用计算。CPU最慢,但啥都能干。
1.3.3 怎么选?
我个人的经验是:
- 纯AI推理:优先NPU。功耗低、速度快。但要注意模型兼容性,不是所有模型都能量化到NPU上。
- AI推理+图像处理:选GPU。比如你要做目标检测,还要做图像预处理、后处理,GPU一把梭。
- 复杂控制+轻量AI:CPU就够了。比如智能家居设备,跑个唤醒词检测,CPU完全能应付。
- 混合场景:异构计算。CPU做调度,GPU做并行计算,NPU做AI推理。我最近的项目就是这么干的。
曾经踩过的坑:有个项目,我一开始全用NPU跑。结果模型量化后精度掉了3个点,客户不干了。后来改成GPU+NPU混合方案,精度保住了,速度也还行。所以,别迷信单一硬件,灵活搭配才是王道。
1.4 小结
嵌入式GPU不是万能的,但它是嵌入式AI推理的重要加速器。选平台时,别只看算力,还要看生态、功耗、成本。我个人建议:
- 新手从Jetson Nano入手,生态好、资料多。
- 做产品选Orin NX或RK3588,性价比高。
- 纯AI推理场景,可以试试算能的TPU。
下一章,我们会深入GPU的架构细节,聊聊CUDA核心、Tensor Core、显存带宽这些硬核话题。到时候见。