参考文章:Atlas 中心推理卡 23.0.RC3 NPU驱动和固件安装指南 02
参考文章:https://www.hiascend.com/document/detail/zh/quick-installation/23.0.RC3/quickinstg/800_3000/quickinstg_800_3000_0013.html
文章目录
- 版本配套表
- 用户必读
- 基础信息
- 服务器配置信息
- 注意事项
- 不能混用安装方法
- 安装场景说明
- 实际操作
- 安装流程
- 确认操作系统
- 获取软件包和配套表
- 创建运行用户
- 确认安装
- 安装驱动
- 确认安装方式
- 基本
- 系统兼容性要求
- 环境检查
- 三种方式选1,我们选择第一种以二进制文件安装(.run包安装)
- 安装相关基础依赖
- 安装驱动
- 安装固件
- 安装cann相关
- 安装python相关
- 安装cann
- 修改`~/.bashrc`
- 检查cann是否安装成功
- 重启系统后再重复上一步,没问题即可
版本配套表
首先看版本配套表,比如我们推理卡是Atlas 300V pro,要看系统是不是支持Atlas 300V pro?找到合适版本的系统(内核版本也要匹配)
可以看到表中没有Atlas 300V pro,但实际上,我们通过联系技术人员,发现ubuntu20.04 5.4.0-100-generic内核是支持安装的,这点需要测试,或者跟华为技术人员确认。
(我们花费大量时间在安装ubuntu20.04系统上,在遇到内核版本不匹配时,尝试安装其他适合的内核版本,但发现切换内核版本后,网卡直接不显示了,网络无法正常工作;后来我们尝试直接安装指定内核版本的系统镜像,但由于连了外网,导致安装时自动升级了内核;后来我们断网安装,安装后连接外网之前禁用系统升级功能,问题这才得以解决)
用户必读
基础信息
服务器配置信息
我们是 Atlas 300V pro 视频解析卡
注意事项
不能混用安装方法
https://support.huawei.com/enterprise/zh/doc/EDOC1100332527/289e2d2d
安装场景说明
我们的场景是在物理机安装驱动固件,然后拉取官方镜像进行开发推理。
物理机安装
实际操作
安装流程
https://support.huawei.com/enterprise/zh/doc/EDOC1100332527/c6904c01
我们每次都是重装操作系统后安装,应该是按照驱动-->固件
的顺序安装。
确认操作系统
https://support.huawei.com/enterprise/zh/doc/EDOC1100332527?section=j005
uname -m && cat /etc/*release
root@ky:/home/HwHiAiUser# uname -m && cat /etc/*releaseaarch64DISTRIB_ID=UbuntuDISTRIB_RELEASE=20.04DISTRIB_CODENAME=focalDISTRIB_DESCRIPTION="Ubuntu 20.04.4 LTS"NAME="Ubuntu"VERSION="20.04.4 LTS (Focal Fossa)"ID=ubuntuID_LIKE=debianPRETTY_NAME="Ubuntu 20.04.4 LTS"VERSION_ID="20.04"HOME_URL="https://www.ubuntu.com/"SUPPORT_URL="https://help.ubuntu.com/"BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"VERSION_CODENAME=focalUBUNTU_CODENAME=focalroot@ky:/home/HwHiAiUser#
操作系统内核版本:
我们是用那个 ubuntu-20.04.4-live-server-arm64.iso 镜像默认断网安装的系统,内核版本5.4.0-100-generic(需要禁用系统升级,会升级内核版本的)。
获取软件包和配套表
https://support.huawei.com/enterprise/zh/doc/EDOC1100332527?section=j006
-
获取设备的NPU卡芯片型号
https://support.huawei.com/enterprise/zh/doc/EDOC1100332527?section=j006lspci -n -D | grep d500
可查询到设备信息,表明NPU卡的芯片型号为Ascend 310P -
软件包获取
我这边因为权限问题下载有点困难,不过貌似运维技术帮我们下好了
创建运行用户
https://support.huawei.com/enterprise/zh/doc/EDOC1100332527?section=j007
root用户下运行:
groupadd HwHiAiUseruseradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
确认安装
确认是先安装驱动,还是先安装固件
https://support.huawei.com/enterprise/zh/doc/EDOC1100332527?section=j008
安装驱动
确认安装方式
https://support.huawei.com/enterprise/zh/doc/EDOC1100332527/51429589
基本
有三种安装方式:
- 二进制文件直接安装
- 源码编译安装
- 重构驱动包安装
因为我们已经安装了符合内核版本的操作系统,所以直接用run包(二进制文件直接安装)方式安装即可。
我们应该走的这条路线:
系统兼容性要求
环境检查
-
操作系统内核版本
uname -r
root@ky:/home/HwHiAiUser# uname -r5.4.0-100-genericroot@ky:/home/HwHiAiUser#
-
系统是否安装过软件包
lsmod | grep drv_pcie_host
无内容表示未安装过软件包。可以直接安装软件包
-
检测卡是否正常在位
lspci | grep d500
-
驱动安装过程中所需的Linux工具(略)
-
相关配置文件
三种方式选1,我们选择第一种以二进制文件安装(.run包安装)
安装相关基础依赖
参考文章:https://www.hiascend.com/document/detail/zh/quick-installation/23.0.RC3/quickinstg/800_3000/quickinstg_800_3000_0013.html
参考文章:https://support.huawei.com/enterprise/zh/doc/EDOC1100332527/2645a51f
apt update
apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev
安装驱动
./Ascend-hdk-310p-npu-driver_23.0.rc3_linux-aarch64.run --full
安装固件
./Ascend-hdk-310p-npu-firmware_7.0.0.5.242.run --full
安装cann相关
参考文章:https://www.hiascend.com/document/detail/zh/quick-installation/23.0.RC3/quickinstg/800_3000/quickinstg_800_3000_0013.html
我这里只写根据我们系统版本执行的步骤。
安装python相关
请参考这里:https://www.hiascend.com/document/detail/zh/quick-installation/23.0.RC3/quickinstg/800_3000/quickinstg_800_3000_0013.html
-
安装python3-pip
apt install python3-pip
-
配置pip源(华为源)
参考文章:https://www.hiascend.com/document/detail/zh/quick-installation/23.0.RC3/quickinstg/800_3000/quickinstg_800_3000_0049.html
root用户下:
mkdir ~/.pipcd ~/.pipvi pip.conf
将以下内容添加到pip.conf中:
[global]#以华为源为例,请根据实际情况进行替换。index-url = https://mirrors.huaweicloud.com/repository/pypi/simpletrusted-host = mirrors.huaweicloud.comtimeout = 120
-
安装python库
pip3 install attrs cython numpy decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests absl-py
安装cann
/home/HwHiAiUser
目录下:
./Ascend-cann-toolkit_7.0.0.alpha002_linux-aarch64.run --install
修改~/.bashrc
安装好cann会提示:
Please make sure that the environment variables have been configured.- To take effect for all users, you can add "source /usr/local/Ascend/ascend-toolkit/set_env.sh" to /etc/profil e.- To take effect for current user, you can exec command below: source /usr/local/Ascend/ascend-toolkit/set_env. sh or add "source /usr/local/Ascend/ascend-toolkit/set_env.sh" to ~/.bashrc.
root用户下:
vi ~/.bashrc
在最后添加:
source /usr/local/Ascend/ascend-toolkit/set_env.sh
检查cann是否安装成功
npm-smi info
能够打印下面信息就表示没问题:
重启系统后再重复上一步,没问题即可
reboot
切换到root执行,返回信息正常即可:
npm-smi info
不知道为何,在普通用户下执行上面命令是失败的(可能上面启动设置环境变量的时候只在root设置了,没有在所有用户设置):
至此,驱动、固件、cann安装成功