安装NPU驱动固件
安装说明
- 首次安装场景:硬件设备刚出厂时未安装驱动,或者硬件设备前期安装过驱动固件但是当前已卸载,上述场景属于首次安装场景,需按照“驱动 > 固件”的顺序安装驱动固件。
- 覆盖安装场景:硬件设备前期安装过驱动固件且未卸载,当前要再次安装驱动固件,此场景属于覆盖安装场景,需按照“固件 > 驱动”的顺序安装固件驱动。
确认操作系统和内核版本
在安装驱动前,需要用户确认现场操作系统和内核版本,从而确定是否需要安装驱动编译所需依赖。
uname -m && cat /etc/*release uname -r

Atlas 300T 训练卡低版本内核(低于4.5)的CentOS 7.6 x86_64需要将CentOS升级至8.0及以上或添加内核补丁,否则可能导致驱动固件安装失败。添加内核补丁的方法请参见添加内核补丁。
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
---|---|---|---|
CentOS 7.6 |
aarch64 |
4.14.0-115.el7a.0.1.aarch64 |
4.8.5及以上 |
Ubuntu 20.04 |
aarch64 |
5.4.0-26-generic |
原生gcc(源自带gcc版本) |
CentOS 8.2 |
aarch64 |
4.18.0-193.el8.aarch64 |
原生gcc(源自带gcc版本) |
BC_Linux 7.6 |
aarch64 |
4.19.25-200.el7.bclinux.aarch64 |
原生gcc(源自带gcc版本) |
BC_Linux 7.7 |
aarch64 |
4.19.25-203.e17.bclinux.aarch64 |
原生gcc(源自带gcc版本) |
Kylin V10 SP1 |
aarch64 |
4.19.90-17.ky10.aarch64 |
原生gcc(源自带gcc版本) |
Kylin V10 SP2 |
aarch64 |
4.19.90-24.4.v2101.ky10.aarch64 |
7.3.0 |
openEuler 20.03 LTS |
aarch64 |
4.19.90-2003.4.0.0036.oe1.aarch64 |
原生gcc(源自带gcc版本) |
openEuler 22.03 LTS |
aarch64 |
5.10.0-60.18.0.50.oe2203.aarch64 |
10.3.1 |
UOS 1020e |
aarch64 |
4.19.90-2106.3.0.0095.up2.uel20.aarch64 |
7.3.0 |
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
---|---|---|---|
Ubuntu 18.04.1 |
x86_64 |
4.15.0-29-generic |
4.8.5及以上 |
CentOS 7.6 |
x86_64 |
3.10.0-957.el7.x86_64 |
4.8.5及以上 |
Debian 9.9 |
x86_64 |
4.19.28 |
4.8.5及以上 |
Ubuntu 20.04 |
x86_64 |
5.4.0-26-generic |
原生gcc(源自带gcc版本) |
CentOS 8.2 |
x86_64 |
4.18.0-193.el8.x86_64 |
原生gcc(源自带gcc版本) |
BC_Linux 7.6 |
x86_64 |
4.19.25-200.el7.bclinux.x86_64 |
原生gcc(源自带gcc版本) |
KylinV10SP1 |
x86_64 |
4.19.90-17.ky10.x86_64 |
原生gcc(源自带gcc版本) |
Debian10.0 |
x86_64 |
4.19.0-5-amd64 |
原生gcc(源自带gcc版本) |
Ubuntu18.04.5 |
x86_64 |
4.15.0-112-generic |
原生gcc(源自带gcc版本) |
openEuler20.03 LTS |
x86_64 |
4.19.90-2003.4.0.0036.oe1.x86_64 |
原生gcc(源自带gcc版本) |
openEuler 22.03 LTS |
x86_64 |
5.10.0-60.18.0.50.oe2203.x86_64 |
10.3.1 |
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
---|---|---|---|
Ubuntu 18.04.1 |
aarch64 |
4.15.0-29-generic |
4.8.5及以上 |
CentOS 7.6 |
aarch64 |
4.14.0-115.el7a.0.1.aarch64 |
4.8.5及以上 |
Ubuntu 20.04 |
aarch64 |
5.4.0-26-generic |
原生gcc(源自带gcc版本) |
CentOS 8.2 |
aarch64 |
4.18.0-193.el8.aarch64 |
原生gcc(源自带gcc版本) |
Kylin V10 SP1 |
aarch64 |
4.19.90-17.ky10.aarch64 |
原生gcc(源自带gcc版本) |
Ubuntu18.04.5 |
aarch64 |
4.15.0-112-generic |
原生gcc(源自带gcc版本) |
openEuler 20.03 LTS |
aarch64 |
4.19.90-2003.4.0.0036.oe1.aarch64 |
原生gcc(源自带gcc版本) |
openEuler 22.03 LTS |
aarch64 |
5.10.0-60.18.0.50.oe2203.aarch64 |
10.3.1 |
UOS 1020e |
aarch64 |
4.19.90-2106.3.0.0095.up2.uel20.aarch64 |
7.3.0 |
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
---|---|---|---|
Debian 9.9 |
x86_64 |
4.19.28 |
4.8.5及以上 |
Ubuntu 18.04.1 |
x86_64 |
4.15.0-29-generic |
4.8.5及以上 |
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.2 |
x86_64 |
4.18.0-193.el8.x86_64 |
原生gcc(源自带gcc版本) |
Kylin V10 SP1 |
x86_64 |
4.19.90-17.ky10.x86_64 |
原生gcc(源自带gcc版本) |
Ubuntu18.04.5 |
x86_64 |
4.15.0-112-generic |
原生gcc(源自带gcc版本) |
openEuler 20.03 LTS |
x86_64 |
4.19.90-2003.4.0.0036.oe1.x86_64 |
原生gcc(源自带gcc版本) |
openEuler 20.03 LTS SP1 |
x86_64 |
4.19.90-2012.5.0.0054.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 |
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
---|---|---|---|
Ubuntu 22.04 |
aarch64 |
5.15.0-25-generic |
11.3.0 |
Debian 10.2 |
aarch64 |
linux-image-5.4.210.bsk.6-arm64_5.4.210.bsk.6_arm64.deb |
8.3.0 |
Debian 10.13 |
aarch64 |
5.10.135 |
8.3.0 |
CTyunOS 22.06 |
aarch64 |
4.19.90-2102.2.0.0066.ctl2.aarch64 |
7.3.0 |
Kylin V10 SP2 |
aarch64 |
4.19.90-24.4.v2101.ky10.aarch64 |
7.3.0 |
Kylin V10 SP3 |
aarch64 |
4.19.90-52.22.v2207.ky10.aarch64 |
7.3.0 |
CUlinux 3.0 |
aarch64 |
5.10.0-60.67.0.104.ule3.aarch64 |
10.3.1 |
BC-Linux 21.10 |
aarch64 |
4.19.90-2107.6.0.0098.oe1.bclinux.aarch64 |
7.3.0 |
openEuler 22.03 LTS |
aarch64 |
5.10.0-60.18.0.50.oe2203.aarch64 |
10.3.1 |
openEuler 22.03 LTS SP2 |
aarch64 |
5.10.0-153.12.0.92.oe2203sp2.aarch64 |
10.3.1 |
openEuler 22.03 LTS SP4 |
aarch64 |
5.10.0-216.0.0.115.oe2203sp4.aarch64 |
10.3.1 |
UOS20 1050e |
aarch64 |
4.19.90-2211.5.0.0178.22.uel20.aarch64 |
7.3.0 |
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
---|---|---|---|
Ubuntu 22.04 |
aarch64 |
5.15.0-25-generic |
11.3.0 |
Kylin V10 SP3 |
aarch64 |
4.19.90-52.22.v2207.ky10.aarch64 |
7.3.0 |
CUlinux 3.0 |
aarch64 |
5.10.0-60.67.0.104.ule3.aarch64 |
10.3.1 |
CTyunOS 22.06 |
aarch64 |
4.19.90-2102.2.0.0066.ctl2.aarch64 |
7.3.0 |
openEuler 22.03 LTS |
aarch64 |
5.10.0-60.18.0.50.oe2203.aarch64 |
10.3.1 |
openEuler 22.03 LTS SP4 |
aarch64 |
5.10.0-216.0.0.115.oe2203sp4.aarch64 |
10.3.1 |
BC-Linux 21.10 |
aarch64 |
4.19.90 |
7.3.0 |
UOS20 1050e |
aarch64 |
4.19.90-2211.5.0.0178.22.uel20.aarch64 |
7.3.0 |
安装驱动固件
- 以root用户登录服务器。
- 创建驱动运行用户HwHiAiUser(运行驱动进程的用户),安装驱动时无需指定运行用户,默认即为HwHiAiUser。
groupadd HwHiAiUser useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
- 安装驱动源码编译所需依赖。
- Ubuntu 22.04操作系统可跳过该步骤。
- 其他操作系统请参见安装驱动源码编译所需依赖安装依赖。
- 将驱动包和固件包上传到服务器任意目录如“/home”。
- 执行如下命令,增加驱动和固件包的可执行权限。
chmod +x 驱动/固件包名称.run
- 执行以下命令,完成驱动固件安装,软件包默认安装路径为“/usr/local/Ascend”。
首次安装场景,需按照“驱动 > 固件”的顺序安装驱动固件;覆盖安装场景,需按照“固件 > 驱动”的顺序安装固件驱动。
- 安装驱动执行以下命令,完成驱动安装。
./Ascend-hdk-xxx-npu-driver_{version}_linux-{arch}.run --full --install-for-all
{version}表示软件包版本;{arch}表示架构,请以实际软件包名替换。
- 若执行上述安装命令出现类似如下回显信息,请参见驱动安装缺少依赖报错解决。
[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查看驱动加载是否成功。
若出现类似如下图所示回显信息,说明加载成功。否则,说明加载失败。请联系华为技术支持处理。
- 执行如下命令查看芯片固件版本号。
/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component -1 --version
若出现类似以下回显信息,且与目标版本一致,则说明安装成功。
{ Get component version(1.82.22.1.224) succeed for deviceId(0), componentType(0). {"device_id":0, "component":nve, "version":1.82.22.1.224} Get component version(1.82.22.1.224) succeed for deviceId(0), componentType(3). {"device_id":0, "component":uefi, "version":1.82.22.1.224} Get component version(1.82.22.1.224) succeed for deviceId(0), componentType(8). {"device_id":0, "component":imu, "version":1.82.22.1.224} Get component version(1.82.22.1.224) succeed for deviceId(0), componentType(9). {"device_id":0, "component":imp, "version":1.82.22.1.224} ........ }
升级MCU
本章内容主要介绍通过npu-smi工具升级MCU。
- 将获取的zip包解压至本地文件夹,获取相应的安装包“Ascend-hdk-xxx-mcu_{version}.bin”。
{version}表示MCU版本号。
- 以root用户登录服务器,将安装包上传至Linux系统任意目录下(如“/home”)。
- 执行npu-smi info -l命令查询NPU ID(卡的设备编号)。
[root@localhost ~]# npu-smi info -l Card Count : 1 NPU ID : 8 Product Name : IT21DMPB01 Serial Number : 033EFS10M8000087 Chip Count : 4
- 进入MCU软件包所在路径,执行如下命令启动升级。
npu-smi upgrade -t mcu -i NPU ID -f X
X表示1中获取的安装包文件名称,出现类似如下回显表示升级成功。
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 : {version}
- MCU新版本生效后,如需再次升级,请等待5min后再次操作。
- 如果升级后不是目标版本或者升级失败,请重新进行升级。如果依然升级失败,请记录故障现象和操作步骤,并联系华为技术支持解决。