下载
中文
注册

安装NPU驱动固件

安装说明

  • 首次安装场景:硬件设备刚出厂时未安装驱动,或者硬件设备前期安装过驱动固件但是当前已卸载,上述场景属于首次安装场景,需按照“驱动 > 固件”的顺序安装驱动固件。
  • 覆盖安装场景:硬件设备前期安装过驱动固件且未卸载,当前要再次安装驱动固件,此场景属于覆盖安装场景,需按照“固件 > 驱动”的顺序安装固件驱动。

确认操作系统和内核版本

在安装驱动前,需要用户确认现场操作系统和内核版本,从而确定是否需要安装驱动编译所需依赖。

执行如下命令查看现场服务器操作系统和内核版本,并和华为的版本要求进行对比。
uname -m && cat /etc/*release
uname -r

Atlas 300T 训练卡低版本内核(低于4.5)的CentOS 7.6 x86_64需要将CentOS升级至8.0及以上或添加内核补丁,否则可能导致驱动固件安装失败。添加内核补丁的方法请参见添加内核补丁

华为发布的驱动配套的操作系统和内核版本如表1~表6所示。

  • 如果操作系统和内核版本为“二进制安装”安装方式对应的版本,则可以直接按照安装驱动固件内容安装驱动固件。
  • 如果操作系统和内核版本为“源码编译安装”安装方式对应的版本,或者内核版本不在“二进制安装”安装方式对应的版本范围内,则需要先参见安装驱动源码编译所需依赖安装驱动源码编译所需的依赖,再按照安装驱动固件内容安装驱动固件。
表1 Atlas 800 训练服务器(型号:9000)/Atlas 900 PoD(型号:9000)/Atlas 900T PoD Lite昇腾NPU驱动对应的OS版本要求

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

表2 Atlas 800 训练服务器(型号:9010)昇腾NPU驱动对应的OS版本要求

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

表3 Atlas 300T 训练卡(型号:9000)/Atlas 300T Pro 训练卡(型号:9000)昇腾NPU驱动对应的OS版本要求

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

表4 Atlas 300T 训练卡(型号:9000)/Atlas 300T Pro 训练卡(型号:9000)昇腾NPU驱动对应的OS版本要求

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

表5 Atlas 800T A2 训练服务器昇腾NPU驱动对应的OS版本要求

host操作系统版本

host操作系统架构

软件包默认的host操作系统内核版本

gcc编译器版本

安装方式

Ubuntu 22.04

aarch64

5.15.0-25-generic

11.3.0

二进制安装。

CentOS 7.6

aarch64

4.14.0-115.el7a.0.1.aarch64

4.8.5

源码编译安装。

Kylin V10 SP2

aarch64

kernel-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

BC-Linux V21.10

aarch64

4.19.90

7.3.0

CTyunOS 22.06

aarch64

4.19.90-2102.2.0.0066.ctl2.aarch64

7.3.0

CUlinux 3.0

aarch64

5.10.0-60.67.0.104.ule3.aarch64

10.3.1

表6 Atlas 900 A2 PoD 集群基础单元昇腾NPU驱动对应的OS版本要求

host操作系统版本

host操作系统架构

软件包默认的host操作系统内核版本

gcc编译器版本

安装方式

Ubuntu 22.04

aarch64

5.15.0-25-generic

11.3.0

二进制安装。

openEuler 22.03 LTS

aarch64

5.10.0-60.18.0.50.oe2203.aarch64

10.3.1

源码编译安装。

Kylin V10 SP2

aarch64

kernel-4.19.90-24.4.v2101.ky10.aarch64

7.3.0

BC-Linux V21.10

aarch64

4.19.90

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

CTyunOS 22.06

aarch64

4.19.90-2102.2.0.0066.ctl2.aarch64

7.3.0

安装驱动固件

  1. root用户登录服务器。
  2. 创建驱动运行用户HwHiAiUser(运行驱动进程的用户),安装驱动时无需指定运行用户,默认即为HwHiAiUser。
    groupadd HwHiAiUser
    useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash

    若用户后续需使用从AscendHub拉取的容器镜像,则请用户执行如下命令创建uid和gid为1000的驱动运行用户HwHiAiUser。

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

    若回显如下信息,请参见创建uid和gid为1000的驱动运行用户HwHiAiUser失败解决。

    groupadd:GID '1000' already exists
  3. 将驱动包和固件包上传到服务器任意目录如“/home”
  4. 执行如下命令,增加驱动和固件包的可执行权限。
    chmod +x 驱动/固件包名称.run
  5. 执行以下命令,完成驱动安装,软件包默认安装路径为“/usr/local/Ascend”
    ./{product}-npu-driver_{version}_linux-{arch}.run --full --install-for-all

    {product}表示产品型号;{version}表示软件包版本;{arch}表示架构,请以实际软件包名替换。

    若执行上述安装命令出现类似如下回显信息,请参见安装驱动固件报错解决。
    [ERROR]The list of missing tools: lspci,ifconfig,
    若系统出现如下关键回显信息,则表示驱动安装成功。
    Driver package installed successfully!
  6. 执行npu-smi info查看驱动加载是否成功。

    若出现类似如下图所示回显信息,说明加载成功。否则,说明加载失败。请联系华为技术支持处理。

  7. 执行以下安装命令完成固件安装。
    ./{product}-npu-firmware_{version}.run --full

    若系统出现如下关键回显信息,表示固件安装成功。

    Firmware package installed successfully! Reboot now or after driver installation for the installation/upgrade to take effect 
  8. 执行reboot命令重启系统。
  9. 执行如下命令查看芯片固件版本号。

    /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

仅训练卡需要升级MCU,训练服务器不涉及。

MCU是训练卡带外管理模块,具备单板监测、故障上报等功能。出厂时训练卡已集成了初始版本,为了保障所有功能正常使用,请将MCU升级到配套版本。

本章内容主要介绍通过npu-smi工具升级MCU,npu-smi工具可以将单个训练卡的MCU升级到相应版本,如果配备了多个训练卡,需要逐个升级。

MCU版本配套关系请参见表2

  1. 将获取的zip包解压至本地文件夹,获取相应的安装包。

    {product}-mcu_{version}.bin

    {product}表示产品型号;{version}表示MCU版本号。

  2. root用户登录服务器,将安装包上传至Linux系统任意目录下(如“/home”)。
  3. 执行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
  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
  5. 执行如下命令使新版本生效,类似以下回显表示已生效。

    npu-smi upgrade -a mcu -i NPU ID

    Status                         : OK
            Message                : The upgrade has taken effect after performed reboot successfully.
  6. 在生效新版本之后,等待30s,查询MCU版本号,确保升级成功。

    npu-smi upgrade -b mcu -i NPU ID

    Version                        : {version}
    • MCU新版本生效后,如需再次升级,请等待5min后再次操作。
    • 如果升级后不是目标版本或者升级失败,请重新进行升级。如果依然升级失败,请记录故障现象和操作步骤,并联系华为技术支持解决。