安装NPU驱动固件
物理机和容器部署场景,只需要在物理机安装NPU驱动固件;虚拟机部署场景,除了在物理机安装NPU驱动固件外,还需要在虚拟机安装NPU驱动。
安装说明
- 首次安装场景:硬件设备刚出厂时未安装驱动,或者硬件设备前期安装过驱动固件但是当前已卸载,上述场景属于首次安装场景,需按照“驱动 > 固件”的顺序安装驱动固件。
- 覆盖安装场景:硬件设备前期安装过驱动固件且未卸载,当前要再次安装驱动固件,此场景属于覆盖安装场景,需按照“固件 > 驱动”的顺序安装固件驱动。
检查安装环境
在安装驱动固件前,建议按照以下检查项检查环境,确保驱动固件能正常安装。
检查项 |
检查方法 |
---|---|
检测卡是否正常在位 |
可通过命令行或BMC管理页面检测卡是否正常在位,如果执行命令时,提示没有安装lspci,可通过BMC管理页面检查。
|
操作系统相关配置文件(重要) |
如果环境OS为SLES 12.5操作系统,需要检查配置文件“10-unsupported-modules.conf”中“allow_unsupported_modules ”的值是否为1。 执行cat /etc/modprobe.d/10-unsupported-modules.conf命令,查看modprobe限制配置文件中“allow_unsupported_modules ”的值是否“1”。如果不是,使用vi /etc/modprobe.d/10-unsupported-modules.conf命令修改“allow_unsupported_modules ”的值为“1”。
说明:
在SLES 12.5操作系统下,可通过“10-unsupported-modules.conf”配置文件控制非系统自带驱动在系统启动过程中的加载。默认情况下,“10-unsupported-modules.conf”配置文件中“allow_unsupported_modules ”的值为“0”,表示不允许系统启动过程中加载非系统自带驱动;“allow_unsupported_modules ”的值设置为“1”时,将允许系统启动过程中加载非系统自带驱动。 |
确认操作系统和内核版本
在安装驱动前,需要用户确认现场操作系统和内核版本,从而确定是否需要安装驱动编译所需依赖。
uname -m && cat /etc/*release uname -r

如果现场服务器连通外网,Ubuntu系统会自动升级内核,因此安装NPU驱动前,需要检查内核版本,如果内核版本和配套表中的不一致,需要使用下表中介绍的源码编译方式安装。同时建议关闭内核自动更新机制,避免更新后NPU驱动不可用。
执行如下命令关闭内核自动更新:
apt-mark hold linux-image-generic linux-headers-generic linux-image-extra
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
安装方式 |
---|---|---|---|---|
CentOS 7.6 |
x86_64 |
3.10.0-957.el7.x86_64 |
4.8.5 |
二进制安装。 直接按照安装驱动固件内容安装驱动固件。 |
Ubuntu 20.04 |
x86_64 |
5.4.0-26-generic |
原生gcc(源自带gcc版本) |
|
CentOS 8.0 |
x86_64 |
4.18.0-80.el8.x86_64 |
8.2.1 |
源码编译安装。
|
SLES 12.5 |
x86_64 |
4.12.14-120-default |
4.8.5 |
|
openEuler 20.03 LTS |
x86_64 |
4.19.90-2003.4.0.0036.oe1.x86_64 |
7.3.0 |
|
openEuler 22.03 LTS |
x86_64 |
5.10.0-60.18.0.50.oe2203.x86_64 |
10.3.1 |
|
Kylin V10 SP1 |
x86_64 |
4.19.90-17.ky10.x86_64 |
7.3.0 |
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
安装方式 |
---|---|---|---|---|
CentOS 7.6 |
x86_64 |
3.10.0-957.el7.x86_64 |
4.8.5 |
二进制安装。 直接按照安装驱动固件内容安装驱动固件。 |
Ubuntu 20.04 |
x86_64 |
5.4.0-26-generic |
原生gcc(源自带gcc版本) |
|
SLES 12.5 |
x86_64 |
4.12.14-120-default |
4.8.5 |
源码编译安装。
|
openEuler 20.03 LTS |
x86_64 |
4.19.90-2003.4.0.0036.oe1.x86_64 |
7.3.0 |
|
openEuler 22.03 LTS |
x86_64 |
5.10.0-60.18.0.50.oe2203.x86_64 |
10.3.1 |
|
Kylin V10 SP1 |
x86_64 |
4.19.90-17.ky10.x86_64 |
7.3.0 |
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
安装方式 |
---|---|---|---|---|
Ubuntu 20.04 |
x86_64 |
5.4.0-26-generic |
原生gcc(源自带gcc版本) |
二进制安装。 直接按照安装驱动固件内容安装驱动固件。 |
CentOS7.8 |
x86_64 |
3.10.0-1127.el7.x86_64 |
4.8.5 |
源码编译安装。
|
openEuler 22.03 LTS |
x86_64 |
5.10.0-60.18.0.50.oe2203.x86_64 |
10.3.1 |
安装驱动固件
- 以root用户登录服务器。
- 创建驱动运行用户HwHiAiUser(运行驱动进程的用户),安装驱动时无需指定运行用户,默认即为HwHiAiUser。
groupadd HwHiAiUser useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
- 将驱动包和固件包上传到服务器任意目录如“/home”。
- 执行如下命令,增加驱动和固件包的可执行权限。
chmod +x Ascend-hdk-xxx-npu-driver_24.1.rc1_linux-x86-64.run chmod +x Ascend-hdk-xxx-npu-firmware_7.1.0.6.220.run
- 执行以下命令,完成驱动固件安装,软件包默认安装路径为“/usr/local/Ascend”。
- 安装驱动
./Ascend-hdk-xxx-npu-driver_24.1.rc1_linux-x86-64.run --full --install-for-all
- 若执行上述安装命令出现类似如下回显信息,请参见驱动安装缺少依赖报错解决。
[ERROR]The list of missing tools: lspci,ifconfig,
- 若执行上述安装命令出现类似如下回显信息,请参见驱动安装过程中出现dkms编译失败报错解决。
[ERROR]Dkms install failed, details in : var/log/ascend_seclog/ascend_install.log. [ERROR]Driver_ko_install failed, details in : /var/log/ascend_seclog/ascend_install.log.
- 若系统出现如下关键回显信息,则表示驱动安装成功。
Driver package installed successfully!
- 若执行上述安装命令出现类似如下回显信息,请参见驱动安装缺少依赖报错解决。
- 安装固件
若系统出现如下关键回显信息,表示固件安装成功。
Firmware package installed successfully! Reboot now or after driver installation for the installation/upgrade to take effect
- 安装驱动
- 执行reboot命令重启系统。
- 执行npu-smi info查看驱动加载是否成功。
若出现类似如下图所示回显信息,说明加载成功。否则,说明加载失败。请联系华为技术支持处理。
升级MCU
MCU是推理卡带外管理模块,具备单板监测、故障上报等功能。出厂时推理卡已集成了初始版本,为了保障所有功能正常使用,请将MCU升级到配套版本。
本章内容主要介绍通过npu-smi工具升级MCU,npu-smi工具可以将单个推理卡的MCU升级到相应版本,如果配备了多个推理卡,需要逐个升级。
- 将获取的zip包解压至本地文件夹,获取安装包。
Ascend-hdk-xxx-mcu_23.2.4.hpm
- 以root用户登录服务器,将安装包上传至Linux系统任意目录下(如“/home”)。
- 执行npu-smi info -l命令查询NPU ID(推理卡的设备编号)。回显类似如下信息,NPU ID为8。
Card Count : 1 NPU ID : 8 Product Name : IT21DMPB01 Serial Number : 033EFS10M8000087 Chip Count : 4
- 进入MCU软件包所在路径,执行如下命令启动升级(将NPU ID替换为3中查询到的设备编号)。
npu-smi upgrade -t mcu -i NPU ID -f Ascend-hdk-xxx-mcu_23.2.4.hpm
出现类似如下回显表示升级成功。
Start upgrade [100]. Status : OK Message : The device upgrade is started successfully Message : need active mcu
- 执行如下命令使新版本生效,类似以下回显表示已生效。
npu-smi upgrade -a mcu -i NPU ID
Status : OK Message : The upgrade has taken effect after performed reboot successfully.
- 在生效新版本之后,等待30s,查询MCU版本号,确保升级成功。npu-smi upgrade -b mcu -i NPU ID
Version : 23.2.4
- MCU新版本生效后,如需再次升级,请等待5min后再次操作。
- 如果升级后不是目标版本或者升级失败,请重新进行升级。如果依然升级失败,请记录故障现象和操作步骤,并联系华为技术支持解决。