当前位置: 首页 > news >正文

昇腾310P软件安装说明

一、背景介绍

近期项目中要使用华为的310P AI推理模组,该模组作为EP端通过PCIE x16连接主处理器D3000。为此需要再D3000系统下进行310P的设备驱动安装操作。

二、驱动安装

1、创建运行用户和组

$ groupadd HwHiAiUser
$ useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash

2、检查系统环境

查看是否安装make

$ make --version

检查是否安装dkmsgcclinux-header

$ rpm -qa | grep dkms
$ rpm -qa | grep gcc
$ rpm -qa | grep kernel-devel-$(uname -r)

3、安装驱动

请移动到驱动包保存目录下,驱动安装包格式一般为

Ascend-hdk-310p-npu-driver_x.x.x_linux-{arch}.run

为安装包添加权限

$ chmod +x Ascend-hdk-310p-npu-driver_x.x.x_linux-{arch}.run

检查安装包的完整性

$ ./Ascend-hdk-310p-npu-driver_x.x.x_linux-{arch}.run --check

安装驱动

$ ./Ascend-hdk-310p-npu-driver_x.x.x_linux-{arch}.run --full

检查驱动是否安装成功

$ npu-smi info

若正常回显,则安装成功。

注:如果安装过程中出现了OS兼容性问题,需要手动将系统内核源码中的Makefile里的警告关闭,Makefile一般在/usr/src/linux-headers-$(uname -r)

下,修改Makefile如下

使用vi / vim打开Makefile;

搜索关键词Wall;

在Wall所在字段的末尾添加 -w;

保存后重新安装驱动

4、安装固件

npu执行正常,则无需重新安装固件

固件安装包的命名格式一般为

Ascend-hdk-310p-npu-firmware_x.x.x.x.X.run

同驱动安装一样,先check,再full,如果返回successful,则安装成功

三、开发工具安装

1、安装CANN软件包

CANN开发包的命名格式为Ascend-cann-toolkit_{version}_linux-{arch}.run

为软件包添加执行权限

$ chmod +x Ascend-cann-toolkit_{version}_linux-{arch}.run

$ ./Ascend-cann-toolkit_{version}_linux-{arch}.run --check

若返回正常,则执行安装

$ ./Ascend-cann-toolkit_{version}_linux-{arch}.run --install

返回success则表示安装成功

安装路径默认在/usr/local/Ascend/ascend-toolkit

配置环境变量

$ source /usr/local/Ascend/ascend-toolkit/set_env.sh

或者将 source /usr/local/Ascend/ascend-toolkit/set_env.sh写入~/.bashrc

2、安装算子包

算子包的命名格式一般为Ascend-cann-kernels-{chip_type}_{version}_linux.run

为软件包添加权限

$ chmod +x Ascend-cann-kernels-{chip_type}_{version}_linux.run

检查安装包的完整性

$ ./Ascend-cann-kernels-{chip_type}_{version}_linux.run --check

安装

$ ./Ascend-cann-kernels-{chip_type}_{version}_linux.run --install

默认情况下,算子包会安装到ascend-toolkit

/usr/local/Ascend/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe/kernel

3、安装运行环境

注:如果用户开发环境和运行环境为同一环境下,可以忽略

运行环境可以视功能性的不同来选择使用nnae或者nnrt

NNRT支持模型在NPU上的离线推理

NNAE则支持模型在NPU上的在线训练与离线推理

由于310P只能用来离线推理,因此安装NNRT即可

NNRT软件包的命名格式一般为Ascend-cann-nnrt_{version}_linux-{arch}.run

检查安装包的完整性

$ ./Ascend-cann-nnrt_{version}_linux-{arch}.run --check

安装

$ ./Ascend-cann-nnrt_{version}_linux-{arch}.run --full

安装算子包,这里增加安装时类型

获取算子包Ascend-cann-kernels-{chip_type}_{version}_linux.run

检查安装包完整性

$ ./Ascend-cann-kernels-{chip_type}_{version}_linux.run --check

安装

$ ./Ascend-cann-kernels-{chip_type}_{version}_linux.run --full --type=nnrt

4、安装程序开发第三方库

首先配置系统环境,方便程序编译启动

$ vi ~/.bashrc$ export CPU_ARCH=`arch`$ export THIRDPART_PATH=/usr/local/Ascend/thirdpart/${CPU_ARCH}$ export LD_LIBRARY_PATH=${THIRDPART_PATH}/lib:$LD_LIBRARY_PATH$ export INSTALL_DIR=/usr/local/Ascend/ascend-toolkit/latest

执行

$ source ~/.bashrc 

使修改的系统变量生效

创建第三方库目录

$ mkdir -p ${THIRDPART_PATH}

解压samples-master.zip到用户指定目录

$ unzip samples-master.zip

将程序运行脚本添加到THIRDPART_PATH

$ cp -r /path/to/samples-master/common ${THIRDPART_PATH}
  • 安装X264媒体库

获取X264源码包x264-master.tar.gz

解压

$ tar zxvf x264-master.tar.gz$ cd x264-master

安装x264

$ ./configure --enable-shared --disable-asm$ make -j64$ make install$ cp /usr/local/lib/libx264.so.164 /lib
  • 安装FFmpeg

在安装FFmpeg之前首先需要检查系统内是否安装SDL2媒体开发库

$ rpm -qa | grep SDL2

如果没有,提供离线安装方式,首先获取SDL2离线安装包SDL2-2.0.14.tar.gz

解压

$ tar zxvf SDL2-2.0.14.tar.gz$ cd SDL2-2.0.14$ ./configure -prefix=/usr$ make -j64$ make install$ rm -vf /usr/lib/libSDL2*.a

安装ffmpeg

获取ffmpeg源码包ffmpeg-4.1.3.tar.gz

$ tar -zxvf ffmpeg-4.1.3.tar.gz$ cd ffmpeg-4.1.3

安装ffmpeg

$ ./configure --enable-shared --enable-pic --enable-static --disable-x86asm --enable-libx264 --enable-gpl --prefix=${THIRDPART_PATH}$ make -j64$ make install
  • 安装OpenCV

获取OpenCV源码包opencv-4.9.0.tar.gz

$ tar zxvf opencv-4.9.0.tar.gz$ cd opencv-4.9.0$ mkdir build && cd build$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D
CMAKE_PREFIX_PATH=${THIRDPART_PATH} -D WITH_STREAMER=ON -D WITH_CANN=ON -D BUILD_OPENCV_HIGHGUI=ON ..$ make -j64$ make install$ ln -s /usr/local/include/opencv4/opencv2 /usr/local/include/opencv2

编辑~/.bashrc

/usr/local/lib添加到LD_LIBRARY_PATH

$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
  • 安装acllite

编译并安装acllite

$ cd /samples/cplusplus/common/acllite$ make -j64$ make install
  • 安装presentagent

获取protobuf源码protobuf.tar.gz

编译安装protobuf

$ tar zxvf protobuf.tar.gz$ cd protobuf$ ./autogen.sh$ ./configure --prefix=${THIRDPART_PATH}$ make clean$ make -j64$ make install

进入presentagent源码目录并编译

$ cd /path/to/samples/cplusplus/common/presenteragent/proto$ ${THIRDPART_PATH}/bin/protoc presenter_message.proto --cpp_out=./

开始编译presentagnet

$ cd ..$ make -j64$ make install

四、固件在线更新

310P的固件可以在linux系统下面在线更新,注意先升级固件再升级驱动,执行下面操作

固件升级

./Ascend-hdk-310p-npu-firmware_7.6.t7.0.b052.run --upgrade

然后再升级驱动

./Ascend-hdk-310p-npu-driver_24.1.t35_linux-aarch64.run --upgrade

五、运算性能测试

310P目前只支持int8和fp16两种类型的数据进行运算性能测试

ascend-dmi -f -t int8
ascend-dmi -f -t fp16
其余类型均不支持
http://www.lryc.cn/news/595004.html

相关文章:

  • Python----NLP自然语言处理(Doc2Vec)
  • 7-Zip 曝出两个可导致拒绝服务的中危漏洞
  • 【网络安全】DDOS攻击
  • (7)ROS2-MUJOCO联合仿真环境迁移优化
  • 网络协议(三)网络层 IPv4、CIDR(使用子网掩码进行网络划分)、NAT在私网划分中的应用
  • 零基础数据结构与算法——第五章:高级算法-回溯算法N皇后问题
  • uniapp+vue3预约时间和日期
  • 布局AI +文化新赛道,浙江省文化产业投资集团赴景联文科技调研交流
  • 算法-比较排序
  • 广播(Broadcast)和组播(Multicast)对比
  • 简单讲解HTTPS如何保证安全性和可靠性
  • https正向代理 GoProxy
  • 计算机发展史:电子管时代的辉煌与局限
  • ubuntu远程桌面不好使
  • Consumer<T>
  • 华为云Stack交付流程
  • cs336 Lecture2
  • iOS打开开发者模式
  • Django Ninja
  • WebkitSpeechRecognition 语音识别
  • 苹果最新系统iOS 17的调试和适配方法 - Xcode 14.3.1 真机调试指南
  • Django实战:基于Django和openpyxl实现Excel导入导出功能
  • 笼子在寻找一只鸟:解读生活的隐形陷阱
  • 第11天 |openGauss逻辑结构:数据库管理
  • Redis的五大基本数据类型
  • Elasticsearch、Solr 与 OpenSearch 搜索引擎方案对比分析及选型建议
  • 神经网络——非线性激活
  • Rk3568驱动开发_非阻塞IO_16
  • Linux下SPI设备驱动开发
  • WPF实现加载初始页面后跳转到主界面并销毁初始页面资源