使用样例:寒武纪智能加速卡

寒武纪智能加速卡是寒武纪公司推出的一款人工智能芯片, 可以支持视觉、语音、自然语言处理以及传统机器学习等高度多样化的人工智能应用。

本文描述了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

results matching ""

    No results matching ""