Driver and Firmware Installation
Installation Description
The driver and firmware must be installed in a specified sequence. For initial installation, install the driver and then firmware; for overwrite installation or upgrade, install the firmware and then driver.
- Initial installation: In scenarios where no driver is installed on a hardware device before delivery, or the installed driver and firmware on the hardware device have been uninstalled, you need to install the driver and then firmware.
- Overwrite installation: In scenarios where the driver and firmware have been installed on a hardware device and you need to install them again, install the firmware and then driver.
Checking the OS and Kernel Versions
Before installing the driver, check the onsite OS and kernel versions to determine whether to install dependencies required for driver build.
- Run the uname -m && cat /etc/*release command to query the OS architecture and version of the server. Information similar to the following is displayed:
aarch64 CentOS Linux release 7.6.1810 (AltArch) NAME="CentOS Linux" VERSION="7 (AltArch)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (AltArch)"
- Run the uname -r command to check the OS and kernel versions. Information similar to the following is displayed:
4.14.0-115.el7a.0.1.aarch64
- Table 1, Table 2, Table 3, and Table 4 list the OS and kernel versions matching the drivers released by Huawei. Compare the OS and kernel versions queried in 1 and 2 with them. If the OS and kernel versions correspond to the binary installation mode, install the driver and firmware by following instructions in Installing the Driver and Firmware.
Note: If the OS and kernel versions correspond to the installation from source code mode, or the kernel version does not correspond to the binary installation mode, refer to Installing Dependencies Required for Compiling Driver Source Code to install the dependencies required for driver source code compilation and then refer to Installing the Driver and Firmware to install the driver and firmware.
Table 1 OS version requirements for the Ascend NPU driver Host OS Version
OS Architecture
Default Host OS Kernel Version in a Software Package
GCC Version
Installation Method
EulerOS 2.8
aarch64
4.19.36-vhulk1907.1.0.h410.eulerosv2r8.aarch64
4.8.5 or later
EulerOS 2.10
aarch64
4.19.90-vhulk2111.1.0.h990
7.3.0
CentOS 7.6
AArch64
4.14.0-115.el7a.0.1.aarch64
4.8.5 or later
Binary installation
Ubuntu 20.04
AArch64
5.4.0-26-generic
N/A
CentOS 8.2
AArch64
4.18.0-193.el8.aarch64
N/A
Installation from source code
BC_Linux 7.6
AArch64
4.19.25-200.el7.bclinux.aarch64
N/A
BC_Linux 7.7
AArch64
4.19.25-203.e17.bclinux.aarch64
N/A
Kylin V10 SP1
AArch64
4.19.90-17.ky10.aarch64
N/A
openEuler 20.03 LTS
AArch64
4.19.90-2003.4.0.0036.oe1.aarch64
N/A
openEuler 22.03 LTS
aarch64
5.10.0-60.18.0.50.oe2203.aarch64
10.3.1
Table 2 OS version requirements for the Ascend NPU driver Host OS Version
OS Architecture
Default Host OS Kernel Version in a Software Package
GCC Version
Installation Method
Ubuntu 18.04.1
x86_64
4.15.0-29-generic
4.8.5 or later
Binary installation
CentOS 7.6
x86_64
3.10.0-957.el7.x86_64
4.8.5 or later
Debian 9.9
x86_64
4.19.28
4.8.5 or later
Ubuntu 20.04
x86_64
5.4.0-26-generic
N/A
CentOS 8.2
x86_64
4.18.0-193.el8.x86_64
N/A
Installation from source code
BC-Linux 7.6
x86_64
4.19.25-200.el7.bclinux.x86_64
N/A
Kylin V10 SP1
x86_64
4.19.90-17.ky10.x86_64
N/A
Debian 10.0
x86_64
4.19.0-5-amd64
N/A
Ubuntu 18.04.5
x86_64
4.15.0-112-generic
N/A
openEuler 20.03 LTS
x86_64
4.19.90-2003.4.0.0036.oe1.x86_64
N/A
Table 3 OS version requirements for the Ascend NPU driver Host OS Version
OS Architecture
Default Host OS Kernel Version in a Software Package
GCC Version
Installation Method
EulerOS 2.8
aarch64
4.19.36-vhulk1907.1.0.h410.eulerosv2r8.aarch64
4.8.5 or later
EulerOS 2.10
aarch64
4.19.90-vhulk2111.1.0.h990
7.3.0
CentOS 7.6
AArch64
4.14.0-115.el7a.0.1.aarch64
4.8.5 or later
Binary installation
Ubuntu 20.04
AArch64
5.4.0-26-generic
N/A
CentOS 8.2
AArch64
4.18.0-193.el8.aarch64
N/A
Installation from source code
BC_Linux 7.6
AArch64
4.19.25-200.el7.bclinux.aarch64
N/A
BC_Linux 7.7
AArch64
4.19.25-203.e17.bclinux.aarch64
N/A
Kylin V10 SP1
AArch64
4.19.90-17.ky10.aarch64
N/A
openEuler 20.03 LTS
AArch64
4.19.90-2003.4.0.0036.oe1.aarch64
N/A
openEuler 22.03 LTS
aarch64
5.10.0-60.18.0.50.oe2203.aarch64
10.3.1
Table 4 OS version requirements for the Ascend NPU driver Host OS Version
OS Architecture
Default Host OS Kernel Version in a Software Package
GCC Version
Installation Mode
Debian 9.9
x86_64
4.19.28
4.8.5 or later
Binary Installation
Ubuntu 18.04.1
AArch64
4.15.0-29-generic
4.8.5 or later
Ubuntu 18.04.1
x86_64
4.15.0-29-generic
4.8.5 or later
CentOS 7.6
AArch64
4.14.0-115.el7a.0.1.aarch64
4.8.5 or later
CentOS 7.6
x86_64
3.10.0-957.el7.x86_64
4.8.5 or later
Ubuntu 20.04
AArch64
5.4.0-26-generic
N/A
Ubuntu 20.04
x86_64
5.4.0-26-generic
N/A
CentOS 8.2
AArch64
4.18.0-193.el8.aarch64
N/A
Installation from Source Code
CentOS 8.2
x86_64
4.18.0-193.el8.x86_64
N/A
Kylin V10 SP1
AArch64
4.19.90-17.ky10.aarch64
N/A
Kylin V10 SP1
x86_64
4.19.90-17.ky10.x86_64
N/A
Ubuntu 18.04.5
AArch64
4.15.0-112-generic
N/A
Ubuntu 18.04.5
x86_64
4.15.0-112-generic
N/A
openEuler 20.03 LTS
AArch64
4.19.90-2003.4.0.0036.oe1.aarch64
N/A
openEuler 20.03 LTS
x86_64
4.19.90-2003.4.0.0036.oe1.x86_64
N/A
openEuler 20.03 LTS SP1
x86_64
4.19.90-2012.5.0.0054.oe1.x86_64
7.3.0
Downloading the Driver and Firmware
The Ascend hardware can be used only after the corresponding Ascend NPU driver and firmware are installed. Table 5 describes how to download the Ascend NPU driver and firmware.
Installing the Driver and Firmware
- Log in to the server as the root user.
- Upload the driver and firmware packages to any directory on the server, for example, /home.
- Run the following command to add the execute permission on the driver and firmware packages:
chmod +x driver/firmware package name.run
- Run the following command to install the driver. The default installation path is /usr/local/Ascend.
./{product}-npu-driver_{version}_linux-{arch}.run --full --install-for-all
{product} indicates the product model, {version} indicates the software package version, and {arch} indicates the architecture. Replace them with the actual ones.
If the following information is displayed, the driver is successfully installed:Driver package installed successfully!
- Run the npu-smi info command to check whether the driver is successfully loaded.
If information similar to the following is displayed, the loading is successful: Otherwise, the loading fails. Contact Huawei technical support.
+-------------------------------------------------------------------------------------------+ | npu-smi 22.0.1.B010 Version: 22.0.0.B010 | +----------------------+---------------+----------------------------------------------------+ | NPU Name | Health | Power(W) Temp(C) Hugepages-Usage(page)| | Chip | Bus-Id | AICore(%) Memory-Usage(MB) HBM-Usage(MB) | +======================+===============+====================================================+ | 0 910A | OK | 73.3 39 15 / 15 | | 0 | 0000:61:00.0 | 0 688 / 15169 2 / 32768 | +======================+===============+====================================================+ | 1 910A | OK | 68.5 33 15 / 15 | | 0 | 0000:DB:00.0 | 0 2070 / 15170 2 / 32768 | +======================+===============+====================================================+ | 2 910A | OK | 69.5 34 15 / 15 | | 0 | 0000:B2:00.0 | 0 1053 / 15170 1 / 32768 | +======================+===============+====================================================+ | 3 910A | OK | 67.9 38 15 / 15 | | 0 | 0000:3E:00.0 | 0 2426 / 15078 0 / 32768 | +======================+===============+====================================================+ | 4 910A | OK | 69.7 37 15 / 15 | | 0 | 0000:60:00.0 | 0 1177 / 15169 2 / 32768 | +======================+===============+====================================================+ | 5 910A | OK | 66.5 33 15 / 15 | | 0 | 0000:DA:00.0 | 0 1037 / 15170 1 / 32768 | +======================+===============+====================================================+ | 6 910A | OK | 66.7 33 15 / 15 | | 0 | 0000:B1:00.0 | 0 1853 / 15170 1 / 32768 | +======================+===============+====================================================+ | 7 910A | OK | 67.0 39 15 / 15 | | 0 | 0000:3D:00.0 | 0 2179 / 15078 1 / 32768 | +======================+===============+====================================================+
- Run the following command to install the firmware:
./{product}-npu-firmware_{version}.run --full
If the following information is displayed, the firmware is successfully installed:
Firmware package installed successfully! Reboot now or after driver installation for the installation/upgrade to take effect
- Run the reboot command to restart the system.
- Run the following command to check the processor firmware version.
/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component -1 --version
If information similar to the following is displayed and the version is the same as the target version, the installation is successful:
{ 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} ........ }