1. AMD Kria平台与工业AI推理概览

AMD Kria 是面向边缘计算与嵌入式视觉的模块化系统(SOM,System-on-Module)产品线,其核心思路是把 FPGA 的可编程逻辑、ARM 处理器、内存与电源管理集成到一张邮票大小的核心板上,再通过载板(Carrier Card)扩展工业接口。对工业 AI 推理而言,Kria 的价值不在于“把 GPU 塞进产线”,而在于用可编程逻辑为确定性时延、多路视频接入和低功耗部署提供一条软硬件协同的路径。

Kria SOM 产品线:K26 与 K24 的定位差异

Kria 目前主流的两条产品线是 K26 与 K24,二者都基于 Zynq UltraScale+ MPSoC 架构,但面向的负载不同。K26 搭载四核 ARM Cortex-A53 应用处理器、双核 Cortex-R5 实时处理器、Mali-400 GPU,以及规模更大的可编程逻辑(约 256K 逻辑单元级别),适合多路视频推理、复杂预处理和较高带宽的传感器融合。K24 则更强调成本与功耗,逻辑资源与接口数量相对精简,适合单路或少量通道的轻量推理、工业检测与电机控制类任务。

选型时不能只看“算力”一个数字。工业现场常见的约束包括:摄像头路数与分辨率、是否需要硬实时触发、环境温度范围、载板接口(MIPI、GigE、USB、CAN、RS-485)、以及整机功耗预算。一个典型的判断顺序是:先确定推理模型与输入分辨率,再估算每秒帧率需求,然后判断预处理(去噪、缩放、色彩空间转换)是否适合放进 PL(可编程逻辑),最后才在 K26 与 K24 之间做取舍。若模型较小、通道数少、对成本敏感,K24 往往更合适;若需要多路 1080p 并行推理或较高带宽的数据搬运,K26 的余量更充足。

Kria SOM 软硬件协同推理架构 K26 / K24 内部资源划分与工业 AI 推理数据通路 Kria K26 SOM 多路视频 · 高带宽 · 复杂预处理 PS 处理系统 4× Cortex-A53 @1.5GHz · 双核 Cortex-R5 Mali-400 GPU · DDR4 控制器 运行 Linux / 推理调度 / 后处理 PL 可编程逻辑 ~256K 逻辑单元 · DSP Slice · BRAM DPU 推理加速 · 视频流水线 缩放 / 去噪 / 色彩转换 / 张量搬运 载板接口 MIPI CSI-2 ×4 · GigE · USB 3.0 · CAN-FD · RS-485 PCIe Gen2 ×4 · DisplayPort Kria K24 SOM 轻量推理 · 低成本 · 低功耗 PS 处理系统 4× Cortex-A53 · 双核 Cortex-R5 精简 GPU · DDR4 控制器 运行 Linux / 轻量推理调度 PL 可编程逻辑 较小逻辑规模 · DSP Slice · BRAM DPU 推理加速 · 基础视频流水线 单路缩放 / 色彩转换 / 张量搬运 载板接口 MIPI CSI-2 ×2 · GigE · USB 2.0 · CAN-FD · RS-485 PCIe Gen2 ×1 · 精简显示接口

工业 AI 推理场景与关键约束

工业 AI 推理与消费级推理的差别,主要体现在“确定性”和“环境”两个词上。消费级场景可以容忍偶尔掉帧,工业质检、装配引导、安全监控却往往要求稳定的节拍和可复现的判定结果。常见场景包括:产线表面缺陷检测(高分辨率、小目标)、机器人引导与抓取(低时延、与运动控制同步)、人员安全防护(多路视频、实时告警)、以及设备预测性维护(振动/声音信号与视觉融合)。

这些场景对 Kria 提出的约束可以归纳为四类。第一是时延:从传感器曝光到输出判定,端到端时延通常要求在几十毫秒量级,部分运动控制场景甚至要求 10ms 以内。第二是吞吐:多路 1080p@30fps 意味着每秒需要处理数亿像素,预处理与推理必须并行。第三是功耗与散热:工业机箱内往往无风扇或仅有小风扇,整机功耗常被限制在 10W~30W。第四是接口与同步:需要硬触发、PTP 时间同步或 CAN 总线交互,这些在纯 GPU 方案中往往需要额外控制器。

软硬件协同设计的核心判断:如果一个操作在 PL 中实现后能显著降低 PS 的负载或时延,并且该操作在数据流中处于“每帧都要做”的位置,就值得考虑下沉到 PL。反之,若操作逻辑复杂、分支多、更新频繁,则更适合留在 PS 用软件实现。

软硬件协同设计理念

Kria 的软硬件协同,不是“先写软件再想办法加速”,而是在系统划分阶段就决定哪些任务放在 PS、哪些放在 PL。一个可操作的划分方法是沿着数据流走一遍:从摄像头输入开始,经过预处理、推理、后处理,到输出控制。对每一步问三个问题:数据量有多大?是否每帧都执行?是否有固定模式?

以典型的工业缺陷检测为例。输入是 1920×1080 的灰度图像,帧率 30fps。预处理包括去噪、ROI 裁剪、缩放到 640×640、归一化。推理使用轻量卷积网络,输出缺陷类别与边界框。后处理包括阈值筛选、非极大值抑制、坐标映射回原图。在这个链路中,去噪、缩放、归一化属于逐像素的规则运算,数据量大且模式固定,适合放进 PL 用流水线实现;推理本身可以交给 DPU(深度学习处理单元)在 PL 中加速;而阈值筛选、NMS、坐标映射涉及动态逻辑和业务规则,放在 PS 用 C/C++ 或 Python 实现更灵活。

这种划分带来的收益是:PL 承担了高带宽、规则化的像素级处理,PS 专注于调度与业务逻辑,两者通过 AXI 总线或共享内存交换数据。需要注意的是,PL 与 PS 之间的数据搬运本身也有开销,若把过多小规模操作拆到 PL,反而会增加同步成本。因此划分的粒度要适中,通常以“一帧图像的一个完整处理阶段”为单位比较合理。

课程实战项目介绍

本课程围绕一个完整的工业 AI 推理项目展开:在 Kria K26 上部署一个多路视频缺陷检测系统。项目从环境搭建开始,依次完成 PetaLinux 系统构建、DPU 推理加速器集成、Vitis AI 模型量化与编译、PL 预处理流水线设计、多路视频输入与推理调度、性能测量与优化,最后进行稳定性验证与部署打包。

项目设定的示例参数如下(属于教学示例,非实测结果):输入为 2 路 1080p@30fps 灰度视频;预处理在 PL 中完成去噪与缩放至 640×640;推理模型为量化后的轻量卷积网络,单帧推理目标时延不超过 15ms;后处理在 PS 中完成,输出缺陷坐标与类别;系统整体功耗目标不超过 20W。课程会逐步展示如何测量各阶段耗时、如何判断瓶颈在 PL 还是 PS、以及如何通过调整流水线深度和内存带宽来改善性能。