RK182X系列NPU概述(RK1828型号)
本章讲 RK182X(主要针对 RK1828 型号)的 NPU 架构、精度支持、RKNN3 开发流程与转换 / 推理代码。
RK182X系列 基于 RKNN3 Toolkit 进行 AI 模型开发。本文档示例代码全部以 RKNN3 为准;RKNN-Toolkit2 用于 RK3588 等主控 SoC。
整体框图
PC 端 设备端
┌──────────────────────┐ ┌──────────────────────┐
│ RKNN3-Toolkit (whl) │ 传输模型 │ RKNN3-Toolkit-Lite │
│ 1. export_llm.py │ ────────────► │ 4. rkllm3-server │
│ 2. export_rknn.py │ │ 5. rknn3_*_demo │
│ 3. .rknn/.weight/etc │ │ 6. 推理输出 │
└──────────────────────┘ └──────────────────────┘1. 精度支持
RK182X NPU 支持的精度模式(基于 RKNN3 Release Note V1.0.0):
| 精度 | 说明 |
|---|---|
| INT8 | 最高算力 20 TOPS(官方数据表确认) |
| FP16 | 高精度推理 / 量化前中间格式 |
| BF16 | Brain Float 16(与 FP16 是独立格式) |
2. RKNN3 开发流程
| 步骤 | 在哪做 | 工具 |
|---|---|---|
| 1. 导出 ONNX | PC | export_llm.py |
| 2. 转 RKNN | PC | rknn-toolkit3 (from rknn.api import RKNN) |
| 3. 传模型到设备 | PC → 板端 | scp / adb push |
| 4. 启动推理服务 | 板端 | rkllm3-server / rknn3_*_demo |
| 5. 应用调用 | 板端 | OpenAI 兼容 API 或 Python API |
3. 模型转换示例(PC 端)
from rknn.api import RKNN
rknn = RKNN(verbose=True)
rknn.config(target_platform='rk1820', # ← 不是 'rk1828'
quantized_dtype='w4a16',
quantized_algorithm='grq',
quantized_method='group32')
rknn.load_llm(model='Qwen3-1.7B.onnx', config='Qwen3-1.7B.config.pkl')
rknn.build(do_quantization=True, dataset='datasets/CMMLU/dataset.txt')
rknn.export_rknn('Qwen3-1.7B.rknn')4. Runtime 推理示例(C API,板端)
#include "rknn3_api.h" // 头文件需向 Rockchip 索取
rknn3_init(&ctx, &ext); // context 指针 + init_extend
rknn3_load_model_from_path(ctx, "model.rknn", "model.weight");
// 只有 3 个参数;core_mask 不在这里传
rknn3_config cfg = {0};
cfg.run_core_mask = 0xff; // LLM/VLM 用满 8 核(0xff);部分 CNN 模型用 0x01
rknn3_model_init(ctx, &cfg);
rknn3_run(ctx, inputs, n_inputs, outputs, n_outputs); // CNN 推理
// LLM 推理走 rknn3_session_run(session, ...)(LLM 专用 session API)
rknn3_destroy(ctx);5. NPU 支持的算子
基于 RKNN3 Release Note V1.0.0:
- 优化
exSDPA、exMatMul、Resize、Transpose等算子实现 - 完整算子列表需以 RKNN3 Toolkit 官方文档为准
6. 性能数据(RKNN3 V1.0.0)
| 类别 | 能力 |
|---|---|
| LLM Decode 性能 | 整体提升 >15% |
| 多核多模型 | 支持同时推理(PCIe 卡 8 核;模型编译时声明所需 core_mask,LLM/VLM 用 0xff,部分 CNN 用 0x01) |
| 新格式 | 支持 mRoPE、Function Call、YUV 格式输入 |
| rkllm3 server | 支持 embedding 模型和音频输入 |
7. NPU 状态验证
systemctl is-active rknn3.service && lspci -d 1d87:182a输出:
active
0004:41:00.0 Processing accelerators: Rockchip Electronics Co., Ltd Device 182a (rev 01)8. SDK 参考文档
PDF 文档:
ls /userdata/RK1820_RK1828_AI_SDK/docs/Release/输出:
Rockchip_RK1820_RK1828_AI_SDK_Quick_Start_CN.pdf
Rockchip_RK1820_RK1828_AI_SDK_Quick_Start_EN.pdf
Rockchip_RK1820_RK1828_AI_SDK_Quick_Start_For_Android_CN.pdf
Rockchip_RK1820_RK1828_AI_SDK_Quick_Start_For_Android_EN.pdf
Rockchip_RK1820_RK1828_AI_SDK_RELEASE_CN.pdf
Rockchip_RK1820_RK1828_AI_SDK_RELEASE_EN.pdfMarkdown 文档:
ls -la /userdata/RK1820_RK1828_AI_SDK/docs/RK1820_RK1828_AI_Release-Note_CN.md /userdata/RK1820_RK1828_AI_SDK/docs/RK1820_RK1828_AI_Release-Note_EN.md输出:
-rw-r--r-- 1 linaro linaro 3905 2026年 1月28日 RK1820_RK1828_AI_Release-Note_CN.md
-rw-r--r-- 1 linaro linaro 4947 2026年 1月28日 RK1820_RK1828_AI_Release-Note_EN.mdRelease Note 内容(节选):
cat /userdata/RK1820_RK1828_AI_SDK/docs/RK1820_RK1828_AI_Release-Note_CN.md | head -20输出:
# 更新日志
## Release V1.0.0
1. Examples 应用示例
- 新增 Docker 环境部署说明及示例,提升示例运行与复现效率
- rockit_yolo_detect 示例兼容 RKNN2 与 RKNN3 接口
- 新增工业异常检测、vi_yolo_venc 示例,并补充对应应用文档说明
2. 工具集更新
- RKNN-Console 新增多卡与 USB 设备支持,修复异常场景下的稳定性问题
- RKNN-SMI 新增 NPU 负载、电流、电压、功耗等查询接口,并优化 CLI 与日志机制
- 新增 rknn-test 自动化测试脚本,提升功能验证与稳定性验证效率
3. RKNN3更新
- 版本更新至 V1.0.0,覆盖 RKNN3 Toolkit、RKNN3 Runtime、RKNN3 Model Zoo
- 大幅提升 LLM/ViT 性能,LLM Decode 性能整体提升超过15%文档目录结构:
ls /userdata/RK1820_RK1828_AI_SDK/docs/输出:
Examples
Others
Release
Tools
RK1820_RK1828_AI_Release-Note_CN.md
RK1820_RK1828_AI_Release-Note_EN.md9. 常见问题
| 现象 | 原因 | 处理 |
|---|---|---|
rknn.config 报 target_platform 不支持 | 写成 'rk1828' | 改成 'rk1820' |
rknn3_init 找不到头文件 | 没装 rknn3_api.h | 向 Rockchip 索取 |
core_mask X is not match with npu core number N! | -c 与模型核数不匹配 | LLM 用 0xff,CNN 用 0x01 |
lspci 没看到 182a | 卡没插 / 供电不足 | 重插 + 检查 dmesg |
rknn3.service 不是 active | systemd 服务异常 | sudo systemctl restart rknn3.service |
10. 下一步
- RKNN3 SDK 概述 — SDK 总览
- RKNN3 Toolkit 安装 — Toolkit 安装
- INT8 量化推理 — 量化详解
