引言 ====== 术语解释 --------- .. table:: :width: 600 :widths: 30 70 +------------------+------------------------------------------------------------------------------------------------------------------------+ | 术语 | 说明 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | BM1684X | 算能科技面向深度学习领域推出的第四代张量处理器 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | BM1684 | 算能科技面向深度学习领域推出的第三代张量处理器 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | TPU | BM1684/BM1684X芯片中的神经网络运算单元 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | VPU | BM1684芯片中的解码单元 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | VPP | BM1684/BM1684X芯片中的图形运算加速单元 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | JPU | BM1684/BM1684X芯片中的图像jpeg编解码单元 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | SophonSDK | 算能科技基于BM1684/BM1684X芯片的原创深度学习开发工具包 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | PCIe Mode | BM1684/BM1684X的一种工作形态,芯片作为加速设备来进行使用,客户算法运行于x86主机 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | SoC Mode | BM1684/BM1684X的一种工作形态,芯片本身作为主机独立运行,客户算法可以直接运行其上 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | arm_pcie Mode | BM1684/BM1684X的一种工作形态,搭载芯片的板卡作为PCIe从设备插到ARM cpu的服务器上,客户算法运行于ARM cpu的主机上 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | BMCompiler | 面向算能科技TPU处理器研发的深度神经网络的优化编译器,可以将深度学习框架定义的各种深度神经网络转化为 TPU 上运行的指令流 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | BMRuntime | TPU推理接口库 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | 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 | 面向算能TPU处理器的深度神经网络模型文件格式,其中包含目标网络的权重(weight)、TPU指令流等 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | BMLang | 面向TPU的高级编程模型,用户开发时无需了解底层TPU硬件信息 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | TPUKernel | 基于TPU原子操作(根据芯片指令集封装的一套接口)的开发库,需熟悉芯片架构、存储细节 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | SAIL | 支持Python/C++接口的Sophon Inference推理库,是对BMCV、BMDecoder、 BMLib、BMRuntime等的进一步封装 | +------------------+------------------------------------------------------------------------------------------------------------------------+ | TPU-MLIR | TPU 编译器工程,可以将不同框架下预训练的神经网络,转化为可以在算能TPU上高效运算的bmodel | +------------------+------------------------------------------------------------------------------------------------------------------------+ | winograd | 一种卷积的加速算法 | +------------------+------------------------------------------------------------------------------------------------------------------------+ 对比说明 -------- 升级后的Sophon SDK与之前的BMNNSDK2、SophonSDK3存在一些区别,主要区别包括: .. table:: :widths: 13 25 14 23 +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------+---------------------------------------------------------+ | 区别 | Sophon SDK | SophonSDK3 | 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安装 | +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------+---------------------------------------------------------+ | NNToolchain、Quantization-Tools | 提供tpu-nntc_vx.y.z--.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 | https://github.com/sophon-ai-algo/sophon-inference | +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------+---------------------------------------------------------+ | 算法例程 | 开源至github仓库(暂未发布) | https://github.com/sophon-ai-algo/examples/tree/2.7.0 | ${BMNNSDK}/examples | +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------+---------------------------------------------------------+ .. note:: 其中x.y.z为版本号 注意事项 -------- - 新的Sophon SDK不再提供官方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-NNTC使用tpu_model替换原来的bm_model.bin,使用方法相同。 授权 ------ BMNNSDK/SophonSDK是算能科技自主研发的原创深度学习开发工具包,未经算能科技事先书面授权,其它第三方公司或个人不得以任何形式或方式复制、发布和传播。 帮助与支持 ------------ ​ 在使用过程中,如有关于SophonSDK的任何问题或者意见和建议,请联系相关技术支持。