2. 引言
2.1. 术语解释
术语 |
说明 |
BM1684X |
算能科技面向深度学习领域推出的第四代张量处理器 |
BM1684 |
算能科技面向深度学习领域推出的第三代张量处理器 |
智能视觉深度学习处理器 |
BM1684/BM1684X中的神经网络运算单元 |
VPU |
BM1684/BM1684X中的解码单元 |
VPP |
BM1684/BM1684X中的图形运算加速单元 |
JPU |
BM1684/BM1684X中的图像JPEG编解码单元 |
SOPHONSDK |
算能科技基于BM1684/BM1684X的原创深度学习开发工具包 |
PCIe Mode |
BM1684/BM1684X的一种工作形态,作为加速设备来进行使用,客户算法运行于x86主机 |
SoC Mode |
BM1684/BM1684X的一种工作形态,本身作为主机独立运行,客户算法可以直接运行其上 |
arm_pcie Mode |
BM1684/BM1684X的一种工作形态,搭载BM1684/BM1684X的板卡作为PCIe从设备插到ARM处理器的服务器上,客户算法运行于ARM处理器的主机上 |
BMCompiler |
面向智能视觉深度学习处理器研发的深度神经网络的优化编译器,可以将深度学习框架的各种深度神经网络转化为处理器上运行的指令流 |
BMRuntime |
智能视觉深度学习处理器推理接口库 |
BMCV |
图形运算硬件加速接口库 |
BMLib |
在内核驱动之上封装的一层底层软件库,设备管理、内存管理、数据搬运、API发送、A53使能、功耗控制 |
UFramework(ufw) |
算能自定义的基于Caffe的深度学习推理框架,用于将模型与原始框架解耦以便验证模型转换精度和完成量化 |
BMNetC |
面向Caffe的BMCompiler 前端工具 |
BMNetD |
面向Darknet的BMCompiler前端工具 |
BMNetM |
面向MxNet的 BMCompiler 前端工具 |
BMNetO |
面向ONNX的BMCompiler前端工具 |
BMNetP |
面向PyTorch的 BMCompiler 前端工具 |
BMNetT |
面向TensorFlow的BMCompiler 前端工具 |
BMNetU |
INT8量化模型的BMCompiler前端工具 |
BMPaddle |
面向Paddle Paddle的BMCompiler前端工具 |
Umodel |
算能自定义的UFamework下的模型格式,为量化模型时使用的中间模型格式 |
BModel |
面向智能视觉深度学习处理器的深度神经网络模型文件格式,其中包含目标网络的权重(weight)、指令流等 |
BMLang |
面向智能视觉深度学习处理器的高级编程模型,用户开发时无需了解底层硬件信息 |
TPUKernel |
基于智能视觉深度学习处理器原子操作(根据BM1684/BM1684X指令集封装的一套接口)的开发库,需熟悉BM1684/BM1684X架构、存储细节 |
SAIL |
支持Python/C++接口的SOPHON Inference推理库,是对BMCV、sophon-mw、 BMLib、BMRuntime等的进一步封装 |
TPU-MLIR |
智能视觉深度学习处理器编译器工程,可以将不同框架下预训练的神经网络,转化为可以在算能智能视觉深度学习处理器上高效运算的bmodel |
2.2. 对比说明
升级后的SOPHONSDK与之前的BMNNSDK2、SOPHONSDK3存在一些区别,主要区别包括:
区别 |
SOPHONSDK |
Heading SOPHONSDK3 |
Heading BMNNSDK2 |
---|---|---|---|
适配 |
BM1684、BM1684X |
BM1684、BM1684X |
BM1684 |
发布方式 |
将各个模块解耦,分别提供tar和deb包 |
提供统一的tar开发包, 包含Compiler和Library |
提供统一的tar开发包,包含Compiler,Library和 Examples |
驱动安装 |
安装sophon-driver_x.y.z_amd64.deb包 |
使用install_driver_{target}.sh安装 |
使用install_driver_{target}.sh安装 |
MLIR |
提供tpu-mlir_vx.y.z-<hash>-<data>.tar.gz安装使用 |
不包含于SOPHONSDK3 |
不包含于BMNNSDK2 |
NNToolchain、Quantization-Tools |
提供tpu-nntc_vx.y.z-<hash>-<data>.tar.gz安装使用 |
包含于SOPHONSDK3 |
包含于BMNNSDK2 |
BMCV、BMRuntime、BMLib |
提供sophon-libsophon_x.x.x_amd64.deb包,安装后位于/opt/sophon/libsophon-current |
包含于SOPHONSDK3 |
包含于BMNNSDK2 |
多媒体库 |
提供sophon-mw-x.x.x_amd64.deb包,安装后位于/opt/sophon/sophon-ffmpeg-latest、/opt/sophon/sophon-opencv-latest、/opt/sophon/opencv-bmcpu-latest |
包含于SOPHONSDK3 |
包含于BMNNSDK2 |
pipeline例程 |
开源至github仓库,sophon-pipeline |
||
算法例程 |
开源至github仓库,sophon-demo |
注解
其中x.y.z为版本号
2.3. 注意事项
新的SOPHONSDK不再提供官方docker,可直接在宿主机上使用deb包安装软件库包,也可以参考《LIBSOPHON使用手册》第6章构建自己的镜像。
PCIe模式下,如果已经装了BM1684 SDK 的驱动,请先卸载旧的 BM1684 SDK 的驱动,再安装sophon-driver_x.y.z_amd64.deb包,具体可参考《LIBSOPHON使用手册》第3章。
sophon-mw-sophon-ffmpeg 依赖 sophon-libsophon 包,而 sophon-mw-sophon-opencv 依赖 sophon-mw-sophon-ffmpeg,因此在安装次序上必须先安装 libsophon,然后 sophon-mw-sophon-ffmpeg,最后安装 sophon-mw-sophon-opencv。
推荐使用cmake中的find_package查找libsophon和sophon-mw的库包,并链接到自己的程序中。
部分头文件不包含于libsophon,如bm_wrapper.hpp、utils.hpp。
SoC模式下,原来/system下的软件库包,现位于/opt/sophon/下。
SoC模式下,通过开机时的systemd服务,自动加载/opt/sophon/libsophon-current/data下的ko内核模块。如用户定义的自启动服务,并且依赖BM168X,请确保在ko加载后启动。
新的TPU-MLIR和TPU-NNTC使用tpu_model替换原来的bm_model.bin,使用方法相同。
2.4. 授权
BMNNSDK/SOPHONSDK是算能科技自主研发的原创深度学习开发工具包,未经算能科技事先书面授权,其它第三方公司或个人不得以任何形式或方式复制、发布和传播。
2.5. 帮助与支持
在使用过程中,如有关于SOPHONSDK的任何问题或者意见和建议,请联系相关技术支持。