使用样例:寒武纪智能加速卡
寒武纪智能加速卡是寒武纪公司推出的一款人工智能芯片, 可以支持视觉、语音、自然语言处理以及传统机器学习等高度多样化的人工智能应用。
本文描述了EulixOS对寒武纪智能加速卡思元270系列的驱动集成, SDK安装和示例程序执行。
系统和环境要求:
- 操作系统: EulixOS 1.0 (基于OpenEuler 1.0 HuaWei)
- 寒武纪智能加速卡思元 MLU270
- 内核版本: 4.19.36-vhulk1907.1.0.h002.aarch64
步骤1: 硬件检查
- 如果加速卡正确的安装在了PCIE插槽上, 可以通过lspci命令识别出名为cabc的pcie设备
$ lspci |grep cabc
01:00.0 Class 1200: Device cabc:0100
步骤2: 安装加速卡驱动
- 安装驱动程序
$ dnf install cambricon-driver
- 如果执行安装成功,将看到驱动程序被成功安装在如下位置
/lib/modules/4.19.36-vhulk1907.1.0.h002.aarch64/kernel/drivers/pci/cambricon/cambricon-driver.ko
- 并且可以在/dev下列出新增的加速卡节点
$ ll /dev| grep cambricon
crw-rw-rw-. 1 root root 240, 0 3月 20 15:01 cambricon_c10Dev0
步骤3: 安装SDK
- 安装加速卡SDK
dnf install cambricon-devel
- 如果执行成功, 将看到SDK的动态链接库文件和头文件
/usr/lib64/libcnml.so
/usr/lib64/libcnrt.so
/usr/include/cnml.h
/usr/include/cnrt.h
步骤4: 下载示例程序
git clone git@gitee.com:eulixos/cambricon-example.git
步骤5: 编译示例程序
$ mkdir build && cd build
$ cmake ..
$ make
步骤6: 执行示例程序
$ mkdir output
$ ./arm-run.sh
步骤7: 检查执行结果
如果示例程序成功执行, 将在output文件夹上生成图片识别结果
$ ls output/
ssd_000001.jpg ssd_000003.jpg ssd_000005.jpg ssd_000007.jpg ssd_000009.jpg
ssd_000002.jpg ssd_000004.jpg ssd_000006.jpg ssd_000008.jpg ssd_000010.jpg