产品咨询:17340067106(毛经理)
软件算法咨询:18982151213(刘经理)

联系我们
产品咨询

二次开发门槛高吗?BM1684X 开发板 SDK 与模型部署全解析

作者:万物纵横
发布时间:2026-11-02 09:59
阅读量:

单纯做模型推理、业务应用二次开发,门槛中等,比 RKNN 略高、比自研 NPU 低;要改内核、TPU 自定义算子、BSP 底层,门槛很高。


BM1684X:INT8 32TOPS,8 核 A53,SOPHON SDK(算丰官方 Sophon 工具链),主打多路视频结构化、边缘视觉推理,支持 PCIe 卡模式、SoC 板载两种形态。


二次开发门槛高吗?BM1684X 开发板 SDK 与模型部署全解析(图1)


1. 二次开发分三层,门槛差异很大


1.1 应用层开发(绝大多数算法集成,门槛 ★★)


适合:算法工程师、业务开发,只跑现成模型、写业务逻辑。


工具链:bmnetc(模型编译器)+ bmrt(推理 runtime)+ BMCV 多媒体库


支持框架:PyTorch、ONNX、Paddle、TF、Caffe;主流 CV 模型(YOLO、PP-YOLO、OCR、DeepSORT)迁移成熟,现在也支持 MiniCPM 等轻量 LLM 部署


开发方式:


1. PC Ubuntu 上把 PyTorch 导出 ONNX,用 bmnetc 转成 bmodel(BM1684X 专属模型文件),做量化(INT8/BF16)、算子对齐


2. 开发板侧调用 libsophon / bmrt C/C++ API,也有 Python 包装 sail(Sophon Inference)


3. BMCV 自带硬解码、缩放、裁剪、颜色空间转换,不用自己写 FFmpeg 硬编解码,多路视频分析非常省心


难点:算子不支持、ONNX 导出不规范、量化掉精度;遇到冷门算子需要算子适配;sail Python 接口文档示例不如 RKNN 丰富,社区案例偏少


上手条件:懂 PyTorch/ONNX、基础 Linux,C++ 优先;只做 Python 推理也可行


1.2 BSP / 系统层开发(驱动、内核、设备树、底板适配,门槛 ★★★★)


适合:硬件驱动工程师、做自研底板、定制系统镜像。


BSP SDK 独立一套,需要 Ubuntu 20.04 宿主机交叉编译,编译链、内核版本强绑定,版本错配直接无法启动


内容:Uboot、Linux 内核、dtb、内存布局、MIPI/CSI、PCIe、GPIO、网口驱动适配


坑点:内存分区、TPU 和 ARM 之间 DDR 带宽分配、PCIe DMA、电源时序;官方文档偏手册化,踩坑排错成本高


很多成品开发板(天启、Firefly)已经预编译好 BSP,普通开发者基本不用碰这一层。


1.3 TPU Kernel 自定义算子开发(底层算子,门槛 ★★★★★)


适合:需要自研特殊算子、大模型自定义加速,懂硬件指令集。


TPU-Kernel,手写 TPU 汇编 / 底层 kernel,单独编译固件加载到 TPU,需要理解 BM1684X 张量阵列、访存、流水线


这块资料最少,社区几乎没有开源案例,一般只有深度合作伙伴、方案商才会用到


2. SOPHON SDK 完整模型部署流程


PyTorch 训练模型

  → torch.onnx 导出 ONNX(固定输入 shape、避免动态 shape)

  → bmnetc 编译 + 校准量化

  → 输出 bmodel

  → 开发板:sail / bmrt 加载 bmodel

  → BMCV 取流 + 预处理

  → TPU 推理

  → 后处理


1. bmnetc 编译器:核心工具,负责算子映射、图优化、INT8 量化;支持 calibration 数据集做 PTQ 量化;QAT 量化也支持


2. bmrt(BMRuntime):TPU 推理运行时库,管理 TPU 任务、内存、多 batch、多路并发,支持多模型同时跑


3. SAIL(sophon sail):上层封装,C++ 和 Python,简化 BMCV + bmrt 联调,快速写视频流推理 demo


4. BMCV:硬件加速图像库,替代 OpenCV,直接调用 TPU/VPU 硬件单元,多路 1080P 并发性能远高于软 OpenCV


重要限制:动态 shape 支持弱,是 BM1684X 最常见卡点;YOLO 动态输入、变长文本 OCR 很容易编译失败,需要固定尺寸或者分多个 bmodel。


3. 与 RK3588(RKNN)横向对比


项目

BM1684X(SOPHON SDK)

RK3588(RKNN)

推理算力

INT8 32TOPS,多路视频优势极强

INT8 6TOPS,单路算法友好

模型迁移难度

中等,动态 shape 坑多,算子库覆盖不错

偏低,RKNN Toolkit 可视化、教程、社区案例极多

Python 生态

sail 可用,示例偏少

rknn-toolkit2 成熟,网上 demo 遍地

多媒体

BMCV 硬编解码强,32 路 1080P 解码

ISP、MIPI 相机生态更好

适合场景

安防、视频结构化、多路抓拍、边缘盒子

机器人、单路视觉、人机交互、原型快速验证


4. 哪些人容易上手,哪些会觉得很难


✅ 适合上手:


做视频结构化、多路抓拍、智慧工地、明厨亮灶这类多路推流分析;


熟悉 ONNX、模型量化,能把模型改成固定输入;


优先选用成品开发板,不自己改 BSP。


❌ 容易劝退:


大量动态输入、Transformer 类复杂模型、冷门算子;


零基础嵌入式,只会调包、不懂 Linux 交叉编译;


需要频繁自定义算子、自研底板驱动。


5. 入门建议(避坑)


1. 优先用官方预烧好镜像的开发板,不要一上来编译 BSP


2. 模型尽量固定 shape,导出 ONNX 时简化图,不要带冗余算子


3. 版本锁死:SDK、固件、驱动、bmodel 必须版本匹配,跨版本基本不兼容,这是 SOPHON SDK 头号大坑


4. 先跑官方 sail demo(yolov5 / yolov8)跑通链路,再替换自己的模型


5. 算子报错优先在 ONNX 层优化,尽量不碰 TPU Kernel


6. 总结


如果你只是部署现成 CV 算法、做多路视频 AI 业务:门槛可控,一周左右可以跑通端到端;


如果你要底层驱动、自研算子、定制硬件底板:门槛高,需要嵌入式 + AI 异构开发经验。

- END -

家具美容培训

家具维修培训

分享:
留言 留言 试用申请
产品咨询 产品咨询 产品咨询
17340067106(毛经理)
技术咨询 技术咨询 软件算法咨询
18982151213(刘经理)
微信在线客服 微信在线客服 在线客服
返回官网顶部 返回官网顶部 回到顶部
关闭窗口
产品订购
  • *

  • *

  • *

  • *

  • *