华为芯片推理卡驱动安装教程

华为芯片推理卡驱动安装教程

安装驱动

确认安装方式

请根据获取的驱动包类型以及安装场景说明选择驱动安装方式。  表9-3 安装场景说明

驱动包类型

安装场景

安装场景说明

安装方式

二进制驱动包

二进制文件直接安装

该方式适用于《版本配套表》中驱动包默认内核版本和运行环境内核版本一致的场景。

请参见。

源码编译安装

该方式适用于《版本配套表》中驱动包默认内核版本和运行环境内核版本不一致的场景。

请参见。

源码驱动包

源码编译安装

该方式适用于软件包无须批量安装的场景。

请参见。

重构驱动包安装

该方式适用于软件包批量离线安装的场景

请参考

系统兼容性要求

  • 支持PCIe MSI-X中断,每个Atlas 300I 推理卡至少可分配464个MSI-X中断。
  • BAR空间大小要求:

Atlas 300I 推理卡需要三个BAR,空间大小分别为512KB,64MB,256MB。

环境检查  表9-4 环境检查

序号

检查项

检查命令

检查说明

1

操作系统内核版本

uname -r

  • 若当前运行环境内核版本和《版本配套表》中操作系统默认内核版本一致,安装驱动请参见。。
  • 若当前运行环境内核版本和《版本配套表》中操作系统默认内核版本不一致,用户可基于安装包驱动源码重新构建安装使用,具体请参见。
    说明:
    • 如果Host系统中安装过run包,内核升级后会出现run包启动异常的问题。出现该问题时请参见解决。
    • 对于UVP操作系统,当前host操作系统的内核版本必须与《版本配套表》中要求一致。
    • EulerOS 2.8场景下,操作系统内核版本必须与《版本配套表》中默认系统版本一致;如果不一致,只能通过升级内核版本的方式解决。否则会导致安装过程报错:部分芯片无法启动。

2

GCC版本

gcc -v

  • 若使用二进制文件直接安装驱动包,对于驱动包名称中包含gcc版本的,要求用户的gcc版本必须与驱动包名称中的gcc版本保持一致;驱动包名称中不包含gcc版本的,安装无须检查GCC版本。
  • 若使用源码编译安装驱动包,GCC版本须不低于《版本配套表》中要求的版本。

3

查询系统是否安装过run包

lsmod|grep drv_pcie_host

  • 如无内容表示未安装过run包。可以直接安装软件包。

  • 如有内容,表示安装过run包。需要先卸载run包后,再安装新版本软件包。

4

检测Atlas 300I 推理卡(型号 3010)是否正常在位

lspci | grep d100

  • 如果服务器上有NN>0)张Atlas 300I 推理卡(型号 3010),回显中含“d100”字段的行数为4N,则表示Atlas 300I 推理卡(型号 3010)正常在位。
    <span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">88:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d100 (rev 20)
    89:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d100 (rev 20)
    8a:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d100 (rev 20)
    8b:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d100 (rev 20)
    
    ......</span></span></span>
  • 如果Atlas 300I 推理卡(型号 3010)所在的服务器是华为服务器,可通过登录iBMC WebUI界面,进入“信息管理 > 系统信息 ”,单击“其他”,Atlas 300I 推理卡(型号 3010)的PCIe卡信息在“PCIe卡”列表中,表示Atlas 300I 推理卡(型号 3010)正常在位。

二进制文件直接安装

安装驱动(适用于.run格式)

Atlas 300I 推理卡(型号 3010)发布的run安装包是host安装包,用户下载和解压安装包需要在host操作系统完成。本章节介绍宿主机上的安装方法,容器内安装请参见。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

NPU版本号可通过驱动包名称查看,例如驱动包名称为“A300-3010-NPU_Driver-20.0.0-X86_64-Ubuntu18.04.run”,则NPU的版本号为20.0.0。

注意事项
  • run安装包支持一键式安装,用户根据安装需求选择对应参数完成安装,具体请参见。
  • 如果有安装NPU 1.X.X系列版本的驱动包,在安装NPU 20.X.X及以上系列版本的驱动包前需要先卸载低版本驱动。
  • 使用run安装包后,不要手动设置环境变量export LD_LIBRARY_PATH指向之前驱动包的SO文件,否则可能会出现run安装包内工具连接到之前版本的动态库。指向第三方库文件路径、非run安装包发布库文件路径的配置不受影响。
  • 在软件包安装或升级过程中,不允许对Host或Device进行复位或下电操作,否则会出现Device无法正常启动或者升级失败。若出现此问题,解决方法请参见。
安装NPU 20.X.X及以上系列版本驱动包

A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run为例介绍.run格式驱动包安装相关指导,具体请根据实际情况进行替换。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

首次安装请按照“驱动->固件”的顺序;覆盖安装或升级请按照“固件->驱动”的顺序,分别安装软件包。固件安装请参见。

为保证驱动版本、固件版本和MCU版本三者保持配套关系,请参考《》中“升级MCU”章节升级对应的MCU组件。

  1. 将准备的安装包上传至Linux系统任意目录下(如“/opt”)。
  2. 使用PuTTy登录Atlas 300I 推理卡(型号 3010)所在服务器的OS命令行,具体请参见。
  3. 执行如下命令,切换至root用户。

su - root

  1. 执行如下命令,进入软件包所在路径(如“/opt”)。

cd /opt

  1. 执行如下命令,增加软件包的可执行权限。

chmod +x A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run

  1. 执行如下命令,校验run安装包的一致性和完整性。

./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run --check  若出现如下回显信息,表示软件包校验成功。

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">Verifying archive integrity...  100%   SHA256 checksums are OK. All good.</span></span></span>
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

软件包校验使用SHA256加密方式;校验过程中若提示:./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run does not contain an embedded MD5 checksum.和./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run does not contain a CRC checksum,表示没有使用MD5和CRC加密方式,可忽略。

  1. 执行安装命令完成安装。
  • 若用户指定安装路径,以“/test/HiAI/”为例。

可执行./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run --full --install-path= /test/HiAI/命令,完成安装。

  • 若未指定安装路径,可执行./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run --full命令,完成安装。
www.zeeklog.com  - 华为芯片推理卡驱动安装教程
  • 安装run包驱动时,会将动态库libdcmi.so和头文件dcmi_interface_api.h拷贝到“/usr/local/dcmi/”目录下。
  • run安装包安装过程中出现的异常场景及其解决方法请参见。
  • 若创建运行用户是非HwHiAiUser,安装驱动软件包时需要指定运行用户(通过--install-username=username --install-usergroup=usergroup参数指定)。
  • 若用户指定安装路径安装驱动时:
  • 若指定路径不存在,则安装时会自动创建目录,若有多层目录,则只有最后一层目录不存在时会自动创建。
  • 若指定路径已存在:
  • 若该路径下所有层级目录属主为root用户,则请确保所有层级目录权限至少为755。
  • 若该路径下有一层目录属主为非root用户,则请用户自行修改为root属主,并确保所有层级目录权限为755。
  • 软件包默认安装路径:/usr/local/Ascend
  • 安装详细日志路径:/var/log/ascend_seclog/ascend_install.log。
  • 安装后软件包的安装路径、安装命令以及运行用户信息记录路径:/etc/ascend_install.info
  • 使用NPU 20.0.X和NPU 20.1.X系列版本驱动包安装时,以非HwHiAiUser用户为运行用户安装驱动,卸载重启后以HwHiAiUser为运行用户再次安装,若出现“/home/HwHiAiUser: Permission denied”报错,请忽略。
  • 使用NPU 20.2.X及以上系列版本软件包安装时,Device侧系统类日志通过msnpureport工具传输到Host侧进行查看。导出操作以及导出日志的存储路径具体请参见附录中的“msnpureport工具使用”章节。

容器内不支持查看Device侧系统类日志,也不支持通过msnpureport工具导出Device侧系统类日志。

  1. 若系统显示安装成功提示信息,则表示驱动已安装成功。根据系统提示信息决定是否重启系统,若需要重启,请执行以下操作;否则,请跳过此步骤。
  1. 安装完成后,在host操作系统执行reboot命令复位,或将host机下电再上电。
  2. host复位后,自动安装驱动及服务,Ascend 310自动进入操作系统。
  1. 执行npu-smi info查看驱动加载是否成功。

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

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">+------------------------------------------------------------------------------+
| npu-smi 20.0.1                       Version: 1.73.5.10.050                  |
+-------------------+-----------------+----------------------------------------+
| NPU     Name      | Health          | Power(W)          Temp(C)              |
| Chip    Device    | Bus-Id          | AICore(%)         Memory-Usage(MB)     |
+===================+=================+========================================+
| 2049    310       | OK              | 12.8              50                   |
| 0       0         | 0000:85:00.0    | 0                 2621 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 2049    310       | OK              | 12.8              51                   |
| 1       1         | 0000:86:00.0    | 0                 2621 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 2049    310       | OK              | 12.8              52                   |
| 2       2         | 0000:87:00.0    | 0                 2621 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 2049    310       | OK              | 12.8              55                   |
| 3       3         | 0000:88:00.0    | 0                 2621 / 8192          |
+===================+=================+========================================+</span></span></span>
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

回显中“npu-smi”后面的字段为npu-smi工具版本号;“Version:”后面的字段为驱动版本号。

后续处理

使用NPU 20.2.X及以上系列版本软件包安装时,请跳过此步骤。使用NPU 20.0.X和NPU 20.1.X系列版本软件包安装时,ADA默认开放侦听端口22118。为确保系统安全,在商用环境中,需要关闭该端口。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

“/usr/local/Ascend/driver”为使用root用户安装驱动(add-ons随驱动安装)的默认安装路径,下文以此为例来说明操作步骤,请根据实际情况替换。

以root用户安装运行环境时,HwHiAiUser用户为运行环境上的默认进程运行用户,下文以此为例来说明操作步骤。

使用su - HwHiAiUser命令切换到运行用户,登录运行环境,打开文件“/home/HwHiAiUser/ide_daemon/ide_daemon.cfg”。

如果SOCK_SWITCH=0,则表示ADA端口已关闭。

如果SOCK_SWITCH=1,则表示ADA端口为开启状态,需要用户手动修改为SOCK_SWITCH=0。

修改完后执行wq!保存退出。

  1. 切换到“/usr/local/Ascend/driver/tools”目录下,依次执行如下命令设置环境变量、重启ada进程或执行reboot命令重启运行环境。

设置环境变量。

export LD_LIBRARY_PATH=/usr/local/Ascend/add-ons:$LD_LIBRARY_PATH

查找ada进程的ID。

ps -ef | grep ada

停止ada进程。

kill -9 ada进程ID

启动ada进程。

如果执行如下命令时,提示“ada is exist, don't start again”,则表示系统已自动拉起ada进程,无需再手动执行启动命令。

/usr/local/Ascend/driver/tools/ada

安装NPU 1.X.X系列版本驱动包

以A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run为例介绍.run格式驱动包安装相关指导,具体请根据实际情况进行替换。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

目前仅支持full模式进行安装,即全包安装模式。

  1. 将准备的安装包上传至Linux系统任意目录下(如“/opt”)。
  2. 使用PuTTy登录Atlas 300I 推理卡(型号 3010)所在服务器的OS命令行,具体请参见。
  3. 执行如下命令,切换至root用户。

su - root

  1. 执行如下命令,进入软件包所在路径(如“/opt”)。

cd /opt

  1. 执行如下命令,增加软件包的可执行权限。

chmod +x A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run

  1. 执行如下命令,校验run安装包的一致性和完整性。

./A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run --check  若出现如下回显信息,表示软件包校验成功。

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">Verifying archive integrity...  100%   SHA256 checksums are OK. All good.</span></span></span>
  1. 设置安装路径。
  • 如果用户需要指定安装路径,则需要先创建安装路径。以“/test/HiAI/”为例,用户先执行mkdir /test/HiAI/命令,完成安装路径的创建,再选择该安装路径进行软件安装。
  • 如果用户不需要指定安装路径,安装包会安装到默认路径“/usr/local/HiAI”下。
  1. 执行安装命令完成安装。

安装过程支持一键式安装操作。

  • 若用户指定安装路径,以“/test/HiAI/”为例。

可执行./A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run --full --path /test/HiAI/命令,完成安装。

  • 若未指定安装路径,可执行./A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run --full命令,完成安装。
www.zeeklog.com  - 华为芯片推理卡驱动安装教程
  • 安装run包驱动时,会将动态库libdcmi.so和头文件dcmi_interface_api.h拷贝到“/usr/local/dcmi/”目录下。
  • run安装包安装过程中出现的异常场景及其解决方法请参见。
  • 安装过程中Ascend 310驱动、固件安装和升级的日志信息输出在“/var/log/HiAI-install.log”文件中,用户可执行./*.run --viewlog命令,打开日志;npu-smi工具安装的日志信息输出在“/var/log/it_logs”中。
  • 安装驱动过程中出现“drv_dkms_env_check failed, details in : /var/log/HiAI-install.log”的报错,请查看日志信息,日志中显示“The program 'dkms' is currently not installed.”,说明错误为缺少DKMS,请安装DKMS。具体操作请参见。
  1. run安装包安装完成后需要复位host主机,复位后,运行的Ascend 310软件和mini固件即为安装的最新版本。复位host主机步骤如下。
  1. 安装完成后,在host操作系统执行reboot命令复位,或将host机下电再上电。
  2. host复位后,自动安装驱动及服务,Ascend 310自动进入操作系统。
  1. 执行npu-smi info查看驱动加载是否成功。

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

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">root@atlas-G560:~# <strong id="ZH-CN_TOPIC_0000001257409623__zh-cn_topic_0000001225336501_zh-cn_topic_0000001125376119_b1821119317539">npu-smi info</strong>
+------------------------------------------------------------------------------+
| npu-smi 1.1.2                        Version: 1.1.T19.B880                   |
+-------------------+-----------------+----------------------------------------+
| NPU     Name      | Health          | Power(W)          Temp(C)              |
| Chip              | Bus-Id          | AICore(%)         Memory-Usage(MB)     |
+===================+=================+========================================+
| 77      HI1910    | Warning         | 12.8              61                   |
| 0                 | 0000:4F:00.0    | 0                 2457 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 77      HI1910    | OK              | 12.8              58                   |
| 1                 | 0000:53:00.0    | 0                 2375 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 77      HI1910    | OK              | 12.8              57                   |
| 2                 | 0000:57:00.0    | 0                 2375 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 77      HI1910    | OK              | 12.8              58                   |
| 3                 | 0000:5B:00.0    | 0                 2375 / 8192          |
+===================+=================+========================================+</span></span></span>
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

回显中“npu-smi”后面的字段为npu-smi工具版本号,Version:”后面的字段为驱动/芯片固件版本号。

安装驱动(适用于.rpm格式)

Atlas 300I 推理卡(型号 3010)发布的.rpm格式安装包是host安装包,用户下载和解压安装包需要在host操作系统完成。如果rpm安装包已经安装,则可以选择升级命令进行升级。升级操作可根据具体的升级版本参见对应的《》。

本章以A300-3010-npu-driver_x.x.x_uvp3.0.rc6-x86_64.rpm为例介绍.rpm格式驱动包安装相关指导,具体请根据实际情况进行替换。

注意事项
  • 使用NPU 20.X.X及以上系列版本的rpm软件包安装时,npu-smi工具集成在驱动包内,安装驱动过程中会自动安装npu-smi工具。
  • 当前rpm包只适配UVP系统,其他环境请不要使用。
  • 当前rpm包安装不支持修改安装路径功能,请按照正常rpm流程安装,不支持rpm包的--force命令安装升级。
  • rpm包与run包为同级别组件,两者不能兼容,即安装run包后不能再安装rpm包、安装rpm包后也不支持再安装run包。
  • Ascend 310内部部分功能,只支持HwHiAiUser用户访问和执行,用户首次安装时系统会自动创建HwHiAiUser用户。
  • 安装完成后需要重启生效。卸载完成后,如需再次安装,需要先重启再安装。
  • rpm包的驱动升级功能不支持回退,如需回退需先删除驱动,再重新安装低版本驱动。
  • 如果已安装NPU 1.X.X系列版本的rpm包,在安装NPU 20.X.X及以上系列版本的rpm包前需要先卸载原版本再安装。
  • 在软件包安装或升级过程中,不允许对Host或Device进行复位或下电操作,否则会出现Device无法正常启动或者升级失败。若出现此问题,解决方法请参见。
操作步骤
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

请按照“驱动->固件”的顺序,分别安装软件包。固件安装请参见。

  1. 将准备的安装包上传至Linux系统任意目录下(如“/opt”)。
  2. 使用PuTTy登录Atlas 300I 推理卡(型号 3010)所在服务器的OS命令行,具体请参见。
  3. 执行如下命令,切换至root用户。

su - root

  1. 在软件包所在路径执行如下命令完成Host侧驱动包安装。

rpm -ivh A300-3010-npu-driver_x.x.x_uvp3.0.rc6-x86_64.rpm

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

软件包安装过程中,若无HwHiAiUser用户系统会自动创建该用户。

  1. 执行如下命令,重启Host侧系统使驱动生效。

reboot

  1. 验证驱动安装是否成功。
  1. 执行如下命令,查看Atlas 300I 推理卡(型号 3010)是否正常在位。

lspci | grep d100  如果服务器上有NN>0)张Atlas 300I 推理卡(型号 3010),回显中含“d100”字段的行数为4N,则表示Atlas 300I 推理卡(型号 3010)正常在位。

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">91:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d100 (rev 20)
92:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d100 (rev 20)
93:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d100 (rev 20)
94:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d100 (rev 20)</span></span></span>
  1. 执行如下命令,查看驱动安装是否成功。

npu-smi info

回显如下类似信息,说明安装成功。否则,说明安装失败,请联系华为工程师处理。

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">+------------------------------------------------------------------------------+
| npu-smi 20.2.0                       Version: 20.2.0                         |
+-------------------+-----------------+----------------------------------------+
| NPU     Name      | Health          | Power(W)          Temp(C)              |
| Chip    Device    | Bus-Id          | AICore(%)         Memory-Usage(MB)     |
+===================+=================+========================================+
| 215     310       | OK              | 12.8              56                   |
| 0       0         | 0000:DA:00.0    | 0                 2703 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 215     310       | OK              | 12.8              57                   |
| 1       1         | 0000:DC:00.0    | 0                 2703 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 215     310       | OK              | 12.8              57                   |
| 2       2         | 0000:DD:00.0    | 0                 2703 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 215     310       | OK              | 12.8              55                   |
| 3       3         | 0000:DB:00.0    | 0                 2703 / 8192          |
+===================+=================+========================================+</span></span></span>
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

安装过程中的日志信息输出在“/var/log/ascend_seclog/ascend_install.log”文件中,用户可以执行vim /var/log/ascend_seclog/ascend_install.log命令打开日志。

源码编译安装

当用户当前操作系统内核版本更新或与默认不一致,可以基于安装包驱动源码重新构建并安装使用,该场景下不会触发内核版本升级,会基于用户当前内核版本编译出相应的内核驱动。软件包在安装时会自动触发驱动源码编译,编译完成后自动进行软件包安装。

如果使用该功能,则需要提前检查并安装相关依赖工具。具体操作请切换到root用户执行。

安装依赖

源码驱动包特有安装依赖
  • make工具

执行make -v命令,若能查询到make工具的版本,则make已安装。

  • 默认内核源码路径:例如:/lib/modules/`uname -r`/build  执行ls /lib/modules/`uname -r`/build命令,查看路径是否存在。
  • 若存在,安装通用软件包时则会自动使用内核进行驱动编译。
  • 若不存在,您可以在安装时提供对应的源码路径,具体请参见。

或dkms等安装依赖,具体请参见以下各操作系统。对于UOS 20kylinosv10SP1NeoKylin 7.6、Tlinux 2.4操作系统,请忽略dkms依赖检查。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

以下操作系统中的DKMS软件包建议使用dkms-2.6.1-1.el7.noarch.rpm。

Ubuntu 18.04/16.04操作系统

需要安装dkms、gcc、linux-header软件包。执行如下命令检查:

dpkg-query -s dkms

dpkg-query -s gcc

dpkg-query -s linux-headers-$(uname -r)

若未安装请自行在相应操作系统厂商网站获取并安装。

CentOS 7.4/7.6/8.2操作系统

需要安装dkms、gcc、kernel-headers、kernel-devel软件包,CentOS 8.2+x86系统还需安装elfutils-libelf-devel软件包。执行如下命令检查:

rpm -qa | grep dkms

rpm -qa | grep gcc

rpm -qa | grep kernel-headers-$(uname -r)

rpm -qa | grep elfutils-libelf-devel 仅CentOS 8.2+x86系统需要查询

rpm -qa | grep kernel-devel-$(uname -r)

若未安装请自行在相应操作系统厂商网站获取并安装。

EulerOS 2.8/2.5操作系统

需要安装gcc、kernel-headers、kernel-devel软件包。执行如下命令检查:

rpm -qa | grep gcc

rpm -qa | grep kernel-headers-$(uname -r)

rpm -qa | grep kernel-devel-$(uname -r)

若未安装请自行在相应操作系统厂商网站获取并安装。

BC-Linux 7.6操作系统

需要安装dkms、gcc、kernel-headers、kernel-devel软件包。执行如下命令检查:

rpm -qa | grep dkms

rpm -qa | grep gcc

rpm -qa | grep kernel-bek-headers-$(uname -r)

rpm -qa | grep kernel-bek-devel-$(uname -r)

若未安装请自行在相应操作系统厂商网站获取并安装。

SUSE12SP4/SUSE12SP5操作系统
  1. 需要安装gcc、kernel-default、kernel-default-devel软件包。执行如下命令检查:

rpm -qa | grep gcc

rpm -qa | grep kernel-default

rpm -qa | grep kernel-default-devel

若未安装请自行在相应操作系统厂商网站获取并安装。

  1. 检查配置文件“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”。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

在SUSE12SP4/SUSE12SP5操作系统下,可通过“10-unsupported-modules.conf”配置文件控制非系统自带驱动在系统启动过程中的加载。默认情况下,“10-unsupported-modules.conf”配置文件中“allow_unsupported_modules ”的值为“0”,表示不允许系统启动过程中加载非系统自带驱动;“allow_unsupported_modules ”的值设置为“1”时,将允许系统启动过程中加载非系统自带驱动。

EulerOS 2.9操作系统  需要安装kernel-headers、gcc 7.3.0、elfutils-devel、make等软件包。操作如下:
  1. 请获取对应版本OS的“devel_tools.tar.gz”工具组件。
  2. 上传“devel_tools.tar.gz”到运行环境的任一目录。如:/opt下。
  3. 进入“devel_tools.tar.gz”所在路径并进行解压。

cd /opt

tar -xzvf devel_tools.tar.gz

  1. 在的解压目录下,执行以下命令安装kernel-headers、gcc 7.3.0、elfutils-devel、make等软件包。
  • 对于EulerOS 2.9+aarch64系统,请执行如下命令:

rpm -ivh kernel-headers-4.19.90-vhulk2009.2.0.h269.eulerosv2r9.aarch64.rpm kernel-devel-4.19.90-vhulk2009.2.0.h269.eulerosv2r9.aarch64.rpm

rpm -ivh binutils-2.34-1.h11.eulerosv2r9.aarch64.rpm binutils-extra-2.34-1.h11.eulerosv2r9.aarch64.rpm binutils-devel-2.34-1.h11.eulerosv2r9.aarch64.rpm zlib-devel-1.2.11-17.eulerosv2r9.aarch64.rpm cpp-7.3.0-20190804.h39.eulerosv2r9.aarch64.rpm libmpc-1.1.0-4.eulerosv2r9.aarch64.rpm glibc-devel-2.28-59.eulerosv2r9.aarch64.rpm libxcrypt-devel-4.4.8-4.h2.eulerosv2r9.aarch64.rpm

rpm -ivh gcc-7.3.0-20190804.h39.eulerosv2r9.aarch64.rpm

rpm -ivh elfutils-devel-0.179-1.h3.eulerosv2r9.aarch64.rpm

rpm -ivh make-4.2.1-15.eulerosv2r9.aarch64.rpm

  • 对于EulerOS 2.9+x86系统,请执行如下命令:

rpm -ivh kernel-headers-4.18.0-147.5.1.0.h208.eulerosv2r9.x86_64.rpm kernel-devel-4.18.0-147.5.1.0.h208.eulerosv2r9.x86_64.rpm

rpm -ivh binutils-2.34-1.h11.eulerosv2r9.x86_64.rpm binutils-extra-2.34-1.h11.eulerosv2r9.x86_64.rpm zlib-devel-1.2.11-17.eulerosv2r9.x86_64.rpm binutils-devel-2.34-1.h11.eulerosv2r9.x86_64.rpm libmpc-1.1.0-4.eulerosv2r9.x86_64.rpm cpp-7.3.0-20190804.h39.eulerosv2r9.x86_64.rpm libxcrypt-devel-4.4.8-4.h2.eulerosv2r9.x86_64.rpm glibc-devel-2.28-59.eulerosv2r9.x86_64.rpm

rpm -ivh gcc-7.3.0-20190804.h39.eulerosv2r9.x86_64.rpm

rpm -ivh elfutils-devel-0.179-1.h3.eulerosv2r9.x86_64.rpm

rpm -ivh make-4.2.1-15.eulerosv2r9.x86_64.rpm

Tlinux 2.4操作系统  由于内核进行过针对性适配,需要使用版本为8.2.1的GCC编译器,因此编译驱动前需保证8.2.1的GCC编译器已经部署。操作步骤如下:
  1. 获取GCC 8.2.1版本编译器的安装包。软件包获取网址:。
  2. 登录运行环境。
  3. 上传gcc编译器的安装包到指定路径下,如“/tmp”。
  4. 执行以下命令安装GCC编译器。

rpm -Uvh devtoolset-8-gcc-8.2.1-3.tl2.aarch64.rpm --force --nodeps

  1. 安装完成后,执行以下命令查找GCC 8.2.1的可以执行文件所在路径。

find / -name gcc

执行文件路径如下红框所示:

www.zeeklog.com  - 华为芯片推理卡驱动安装教程
  1. 配置环境变量。

export PATH=/opt/rh/devtoolset-8/root/usr/bin/:$PATH

  1. 执行以下命令,验证GCC编译器是否安装成功。

gcc --version

如出现以下回显,安装后的gcc版本和目标版本一致,则表示安装成功。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

安装驱动(适用于.run格式)

Atlas 300I 推理卡(型号 3010)发布的run安装包是host安装包,用户下载和解压安装包需要在host操作系统完成。本章节介绍宿主机上的安装方法,容器内安装请参见。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

NPU版本号可通过驱动包名称查看,例如驱动包名称为“A300-3010-NPU_Driver-20.0.0-X86_64-Ubuntu18.04.run”,则NPU的版本号为20.0.0。

前提条件

驱动包安装前需要检查并安装相关依赖,具体请参见。

注意事项
  • run安装包支持一键式安装,用户根据安装需求选择对应参数完成安装,具体请参见。
  • 如果有安装NPU 1.X.X系列版本的驱动包,在安装NPU 20.X.X及以上系列版本的驱动包前需要先卸载低版本驱动。
  • 使用run安装包后,不要手动设置环境变量export LD_LIBRARY_PATH指向之前驱动包的SO文件,否则可能会出现run安装包内工具连接到之前版本的动态库。指向第三方库文件路径、非run安装包发布库文件路径的配置不受影响。
  • 在软件包安装或升级过程中,不允许对Host或Device进行复位或下电操作,否则会出现Device无法正常启动或者升级失败。若出现此问题,解决方法请参见。
安装NPU 20.X.X及以上系列版本驱动包

A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run为例介绍.run格式驱动包安装相关指导,具体请根据实际情况进行替换。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

首次安装请按照“驱动->固件”的顺序;覆盖安装或升级请按照“固件->驱动”的顺序,分别安装软件包。固件安装请参见。

为保证驱动版本、固件版本和MCU版本三者保持配套关系,请参考《》中“升级MCU”章节升级对应的MCU组件。

  1. 将准备的安装包上传至Linux系统任意目录下(如“/opt”)。
  2. 使用PuTTy登录Atlas 300I 推理卡(型号 3010)所在服务器的OS命令行,具体请参见。
  3. 执行如下命令,切换至root用户。

su - root

  1. 执行如下命令,进入软件包所在路径(如“/opt”)。

cd /opt

  1. 执行如下命令,增加软件包的可执行权限。

chmod +x A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run

  1. 执行如下命令,校验run安装包的一致性和完整性。

./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run --check  若出现如下回显信息,表示软件包校验成功。

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">Verifying archive integrity...  100%   SHA256 checksums are OK. All good.</span></span></span>
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

软件包校验使用SHA256加密方式;校验过程中若提示:./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run does not contain an embedded MD5 checksum.和./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run does not contain a CRC checksum,表示没有使用MD5和CRC加密方式,可忽略。

  1. 执行安装命令完成安装。
  • 若用户指定安装路径,以“/test/HiAI/”为例。

可执行./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run --full --install-path= /test/HiAI/命令,完成安装。

  • 若未指定安装路径,可执行./A300-3000-3010-npu-driver_x.x.x_ubuntu18.04-aarch64.run --full命令,完成安装。
www.zeeklog.com  - 华为芯片推理卡驱动安装教程
  • 安装run包驱动时,会将动态库libdcmi.so和头文件dcmi_interface_api.h拷贝到“/usr/local/dcmi/”目录下。
  • run安装包安装过程中出现的异常场景及其解决方法请参见。
  • 若创建运行用户是非HwHiAiUser,安装驱动软件包时需要指定运行用户(通过--install-username=username --install-usergroup=usergroup参数指定)。
  • 若用户指定安装路径安装驱动时:
  • 若指定路径不存在,则安装时会自动创建目录,若有多层目录,则只有最后一层目录不存在时会自动创建。
  • 若指定路径已存在:
  • 若该路径下所有层级目录属主为root用户,则请确保所有层级目录权限至少为755。
  • 若该路径下有一层目录属主为非root用户,则请用户自行修改为root属主,并确保所有层级目录权限为755。
  • 软件包默认安装路径:/usr/local/Ascend
  • 安装详细日志路径:/var/log/ascend_seclog/ascend_install.log。
  • 安装后软件包的安装路径、安装命令以及运行用户信息记录路径:/etc/ascend_install.info
  • 使用NPU 20.0.X和NPU 20.1.X系列版本驱动包安装时,以非HwHiAiUser用户为运行用户安装驱动,卸载重启后以HwHiAiUser为运行用户再次安装,若出现“/home/HwHiAiUser: Permission denied”报错,请忽略。
  • 使用NPU 20.2.X及以上系列版本软件包安装时,Device侧系统类日志通过msnpureport工具传输到Host侧进行查看。导出操作以及导出日志的存储路径具体请参见附录中的“msnpureport工具使用”章节。

容器内不支持查看Device侧系统类日志,也不支持通过msnpureport工具导出Device侧系统类日志。

  1. (可选)对于源码驱动包,安装时若出现以下回显,说明未安装dkms,默认内核源码路径如“/lib/modules/`uname -r`/build”不存在。请根据系统提示输入相应内容:
<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">[WARNING]rebuild ko has something wrong, detail in /var/log/ascend_seclog/ascend_rebuild.log
Do you want to try build driver after input kernel absolute path? [y/n]:</span></span></span>

若需要继续安装,请输入y。

出现如下回显后,请根据提示输入您提供的内核源码的实际路径,如:/lib/modules/`uname -r`/build-bak。

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">Please input your kernel absolute path:</span></span></span>

按“Enter”键继续安装。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程
  • 若已安装dkms及相应kernel-header、kernel-devel等组件,则会自动执行dkms驱动编译安装。
  • 若未安装dkms,但默认内核源码路径如“/lib/modules/`uname -r`/build”已存在,则会自动使用该内核进行驱动编译。
  1. 若系统显示安装成功提示信息,则表示驱动已安装成功。根据系统提示信息决定是否重启系统,若需要重启,请执行以下操作;否则,请跳过此步骤。
  1. 安装完成后,在host操作系统执行reboot命令复位,或将host机下电再上电。
  2. host复位后,自动安装驱动及服务,Ascend 310自动进入操作系统。
  1. 执行npu-smi info查看驱动加载是否成功。

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

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">+------------------------------------------------------------------------------+
| npu-smi 20.0.1                       Version: 1.73.5.10.050                  |
+-------------------+-----------------+----------------------------------------+
| NPU     Name      | Health          | Power(W)          Temp(C)              |
| Chip    Device    | Bus-Id          | AICore(%)         Memory-Usage(MB)     |
+===================+=================+========================================+
| 2049    310       | OK              | 12.8              50                   |
| 0       0         | 0000:85:00.0    | 0                 2621 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 2049    310       | OK              | 12.8              51                   |
| 1       1         | 0000:86:00.0    | 0                 2621 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 2049    310       | OK              | 12.8              52                   |
| 2       2         | 0000:87:00.0    | 0                 2621 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 2049    310       | OK              | 12.8              55                   |
| 3       3         | 0000:88:00.0    | 0                 2621 / 8192          |
+===================+=================+========================================+</span></span></span>
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

回显中“npu-smi”后面的字段为npu-smi工具版本号;“Version:”后面的字段为驱动版本号。

后续处理

使用NPU 20.2.X及以上系列版本软件包安装时,请跳过此步骤。使用NPU 20.0.X和NPU 20.1.X系列版本软件包安装时,ADA默认开放侦听端口22118。为确保系统安全,在商用环境中,需要关闭该端口。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

“/usr/local/Ascend/driver”为使用root用户安装驱动(add-ons随驱动安装)的默认安装路径,下文以此为例来说明操作步骤,请根据实际情况替换。

以root用户安装运行环境时,HwHiAiUser用户为运行环境上的默认进程运行用户,下文以此为例来说明操作步骤。

使用su - HwHiAiUser命令切换到运行用户,登录运行环境,打开文件“/home/HwHiAiUser/ide_daemon/ide_daemon.cfg”。

如果SOCK_SWITCH=0,则表示ADA端口已关闭。

如果SOCK_SWITCH=1,则表示ADA端口为开启状态,需要用户手动修改为SOCK_SWITCH=0。

修改完后执行wq!保存退出。

  1. 切换到“/usr/local/Ascend/driver/tools”目录下,依次执行如下命令设置环境变量、重启ada进程或执行reboot命令重启运行环境。

设置环境变量。

export LD_LIBRARY_PATH=/usr/local/Ascend/add-ons:$LD_LIBRARY_PATH

查找ada进程的ID。

ps -ef | grep ada

停止ada进程。

kill -9 ada进程ID

启动ada进程。

如果执行如下命令时,提示“ada is exist, don't start again”,则表示系统已自动拉起ada进程,无需再手动执行启动命令。

/usr/local/Ascend/driver/tools/ada

安装NPU 1.X.X系列版本驱动包

以A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run为例介绍.run格式驱动包安装相关指导,具体请根据实际情况进行替换。

www.zeeklog.com  - 华为芯片推理卡驱动安装教程

目前仅支持full模式进行安装,即全包安装模式。

  1. 将准备的安装包上传至Linux系统任意目录下(如“/opt”)。
  2. 使用PuTTy登录Atlas 300I 推理卡(型号 3010)所在服务器的OS命令行,具体请参见。
  3. 执行如下命令,切换至root用户。

su - root

  1. 执行如下命令,进入软件包所在路径(如“/opt”)。

cd /opt

  1. 执行如下命令,增加软件包的可执行权限。

chmod +x A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run

  1. 执行如下命令,校验run安装包的一致性和完整性。

./A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run --check  若出现如下回显信息,表示软件包校验成功。

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">Verifying archive integrity...  100%   SHA256 checksums are OK. All good.</span></span></span>
  1. 设置安装路径。
  • 如果用户需要指定安装路径,则需要先创建安装路径。以“/test/HiAI/”为例,用户先执行mkdir /test/HiAI/命令,完成安装路径的创建,再选择该安装路径进行软件安装。
  • 如果用户不需要指定安装路径,安装包会安装到默认路径“/usr/local/HiAI”下。
  1. 执行安装命令完成安装。

安装过程支持一键式安装操作。

  • 若用户指定安装路径,以“/test/HiAI/”为例。

可执行./A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run --full --path /test/HiAI/命令,完成安装。

  • 若未指定安装路径,可执行./A800-3010_A300-3010-NPU-Ubuntu16.04.X86-Vx.x.x.run --full命令,完成安装。
www.zeeklog.com  - 华为芯片推理卡驱动安装教程
  • 安装run包驱动时,会将动态库libdcmi.so和头文件dcmi_interface_api.h拷贝到“/usr/local/dcmi/”目录下。
  • run安装包安装过程中出现的异常场景及其解决方法请参见。
  • 安装过程中Ascend 310驱动、固件安装和升级的日志信息输出在“/var/log/HiAI-install.log”文件中,用户可执行./*.run --viewlog命令,打开日志;npu-smi工具安装的日志信息输出在“/var/log/it_logs”中。
  • 安装驱动过程中出现“drv_dkms_env_check failed, details in : /var/log/HiAI-install.log”的报错,请查看日志信息,日志中显示“The program 'dkms' is currently not installed.”,说明错误为缺少DKMS,请安装DKMS。具体操作请参见。
  1. run安装包安装完成后需要复位host主机,复位后,运行的Ascend 310软件和mini固件即为安装的最新版本。复位host主机步骤如下。
  1. 安装完成后,在host操作系统执行reboot命令复位,或将host机下电再上电。
  2. host复位后,自动安装驱动及服务,Ascend 310自动进入操作系统。
  1. 执行npu-smi info查看驱动加载是否成功。

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

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">root@atlas-G560:~# <strong id="ZH-CN_TOPIC_0000001257209637__zh-cn_topic_0000001180018332_zh-cn_topic_0000001125040051_zh-cn_topic_0000001125376119_b1821119317539">npu-smi info</strong>
+------------------------------------------------------------------------------+
| npu-smi 1.1.2                        Version: 1.1.T19.B880                   |
+-------------------+-----------------+----------------------------------------+
| NPU     Name      | Health          | Power(W)          Temp(C)              |
| Chip              | Bus-Id          | AICore(%)         Memory-Usage(MB)     |
+===================+=================+========================================+
| 77      HI1910    | Warning         | 12.8              61                   |
| 0                 | 0000:4F:00.0    | 0                 2457 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 77      HI1910    | OK              | 12.8              58                   |
| 1                 | 0000:53:00.0    | 0                 2375 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 77      HI1910    | OK              | 12.8              57                   |
| 2                 | 0000:57:00.0    | 0                 2375 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 77      HI1910    | OK              | 12.8              58                   |
| 3                 | 0000:5B:00.0    | 0                 2375 / 8192          |
+===================+=================+========================================+</span></span></span>
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

回显中“npu-smi”后面的字段为npu-smi工具版本号,Version:”后面的字段为驱动/芯片固件版本号。

重构驱动包安装

本章内容仅适用于NPU 20.1.X及以上系列版本。

安装依赖

GCC和内核源码

确认目标OS及其内核版本号对应的GCC及内核源码是否已存在,具体请参见。

makeself 2.4.0工具

下载开源工具:makeself 2.4.0。下载地址请参见:或。

pigz工具  执行如下命令,检查pigz工具是否已安装。例如:
  • Ubuntu操作系统:

dpkg-query -s pigz

  • CentOS操作系统:

rpm -qa |grep pigz

若未安装请使用对应的软件管理器进行安装。例如:

  • Ubuntu操作系统:

apt install pigz

  • CentOS操作系统:

yum install pigz

重构驱动包

用户可以根据本章节内容,构建一个满足目标OS版本,内核版本,gcc版本要求的驱动安装包。

前提条件

编译前需要安装相关依赖,具体请参见。

操作步骤
  1. 根据获取源码驱动包和重构工具包。
  2. 上传源码驱动包、重构工具包、开源软件“makeself-release-2.4.0.zip”到运行环境的同一目录。如:/opt下。
  3. 执行以下命令,进入软件包所在路径,如/opt下。

cd /opt

  1. 执行以下命令,增加源码驱动包的执行权限。

命令:chmod +x *.run

示例:chmod +x A300-3010-npu-driver_20.1.0_linux-x86_64.run

  1. 执行以下命令,解压源码驱动包到指定目录。

命令:./*.run --noexec --extract=目标路径

示例:./A300-3010-npu-driver_20.1.0_linux-x86_64.run --noexec --extract=./tmp

  1. 执行以下命令,解压重构工具包到当前目录。

命令:tar -xzvf 重构工具包名称 --strip-components 1

示例:tar -xzvf A300-3010-npu-driver-repack-tools_20.1.0.tar.gz --strip-components 1

  1. 执行以下命令,解压软件包“makeself-release-2.4.0.zip”。

unzip makeself-release-2.4.0.zip

  1. 执行以下命令,构建新驱动包。

命令:bash build.sh makeself.sh路径 包解压的路径 输出包名

示例:bash build.sh ./makeself-release-2.4.0/makeself.sh tmp/ A300-3010-npu-driver-repack.run

  1. 请参见,安装驱动。

安装驱动(适用于.run格式)

Atlas 300I 推理卡(型号 3010)发布的run安装包是host安装包,用户下载和解压安装包需要在host操作系统完成。本章节介绍宿主机上的安装方法,容器内安装请参见。

本章以重构驱动包A300-3010-npu-driver-repack.run为例介绍.run格式驱动包安装相关指导,具体请根据实际情况进行替换。

注意事项
  • run安装包支持一键式安装,用户根据安装需求选择对应参数完成安装,具体请参见。
  • 如果有安装NPU 1.X.X系列版本的驱动包,在安装NPU 20.X.X及以上系列版本的驱动包前需要先卸载低版本驱动。
  • 使用run安装包后,不要手动设置环境变量export LD_LIBRARY_PATH指向之前驱动包的SO文件,否则可能会出现run安装包内工具连接到之前版本的动态库。指向第三方库文件路径、非run安装包发布库文件路径的配置不受影响。
  • 在软件包安装或升级过程中,不允许对Host或Device进行复位或下电操作,否则会出现Device无法正常启动或者升级失败。若出现此问题,解决方法请参见。
操作步骤
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

首次安装请按照“驱动->固件”的顺序;覆盖安装或升级请按照“固件->驱动”的顺序,分别安装软件包。固件安装请参见。

为保证驱动版本、固件版本和MCU版本三者保持配套关系,请参考《》中“升级MCU”章节升级对应的MCU组件。

  1. 将构建的驱动包上传至Linux系统任意目录下(如“/opt”)。
  2. 使用PuTTy登录Atlas 300I 推理卡(型号 3010)所在服务器的OS命令行,具体请参见。
  3. 执行如下命令,切换至root用户。

su - root

  1. 执行如下命令,进入软件包所在路径(如/opt)。

cd /opt

  1. 执行如下命令,校验run安装包的一致性和完整性。

./A300-3010-npu-driver-repack.run --check  出现如下回显信息,表示软件包校验成功。

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">Verifying archive integrity...  100%   SHA256 checksums are OK. All good.</span></span></span>
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

软件包校验使用SHA256加密方式;校验过程中若提示:./A300-3010-npu-driver-repack.run does not contain an embedded MD5 checksum.和./A300-3010-npu-driver-repack.run does not contain a CRC checksum,表示没有使用MD5和CRC加密方式,可忽略。

  1. 执行安装命令完成安装。
  • 若用户指定安装路径,以“/test/HiAI/”为例。

可执行./A300-3010-npu-driver-repack.run --full --install-path= /test/HiAI/命令,完成安装。

  • 若未指定安装路径,可执行./A300-3010-npu-driver-repack.run --full命令,完成安装。
www.zeeklog.com  - 华为芯片推理卡驱动安装教程
  • 安装run包驱动时,会将动态库libdcmi.so和头文件dcmi_interface_api.h拷贝到“/usr/local/dcmi/”目录下。
  • run安装包安装过程中出现的异常场景及其解决方法请参见。
  • 若创建运行用户是非HwHiAiUser,安装驱动软件包时需要指定运行用户(通过--install-username=username --install-usergroup=usergroup参数指定)。
  • 若用户指定安装路径安装驱动时:
  • 若指定路径不存在,则安装时会自动创建目录,若有多层目录,则只有最后一层目录不存在时会自动创建。
  • 若指定路径已存在:
  • 若该路径下所有层级目录属主为root用户,则请确保所有层级目录权限至少为755。
  • 若该路径下有一层目录属主为非root用户,则请用户自行修改为root属主,并确保所有层级目录权限为755。
  • 软件包默认安装路径:/usr/local/Ascend
  • 安装详细日志路径:/var/log/ascend_seclog/ascend_install.log。
  • 安装后软件包的安装路径、安装命令以及运行用户信息记录路径:/etc/ascend_install.info
  • 使用NPU 20.0.X和NPU 20.1.X系列版本驱动包安装时,以非HwHiAiUser用户为运行用户安装驱动,卸载重启后以HwHiAiUser为运行用户再次安装,若出现“/home/HwHiAiUser: Permission denied”报错,请忽略。
  • 使用NPU 20.2.X及以上系列版本软件包安装时,Device侧系统类日志通过msnpureport工具传输到Host侧进行查看。导出操作以及导出日志的存储路径具体请参见附录中的“msnpureport工具使用”章节。

容器内不支持查看Device侧系统类日志,也不支持通过msnpureport工具导出Device侧系统类日志。

  1. 若系统显示安装成功提示信息,则表示驱动已安装成功。根据系统提示信息决定是否重启系统,若需要重启,请执行以下操作;否则,请跳过此步骤。
  1. 安装完成后,在host操作系统执行reboot命令复位,或将host机下电再上电。
  2. host复位后,自动安装驱动及服务,Ascend 310自动进入操作系统。
  1. 执行npu-smi info查看驱动加载是否成功。

回显如下类似信息,说明加载成功。否则,说明安装失败,请联系华为技术支持处理。

<span style="color:#494949"><span style="background-color:#ffffff"><span style="background-color:#dddddd">+------------------------------------------------------------------------------+
| npu-smi 20.0.1                       Version: 1.73.5.10.050                  |
+-------------------+-----------------+----------------------------------------+
| NPU     Name      | Health          | Power(W)          Temp(C)              |
| Chip    Device    | Bus-Id          | AICore(%)         Memory-Usage(MB)     |
+===================+=================+========================================+
| 2049    310       | OK              | 12.8              50                   |
| 0       0         | 0000:85:00.0    | 0                 2621 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 2049    310       | OK              | 12.8              51                   |
| 1       1         | 0000:86:00.0    | 0                 2621 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 2049    310       | OK              | 12.8              52                   |
| 2       2         | 0000:87:00.0    | 0                 2621 / 8192          |
+-------------------+-----------------+----------------------------------------+
| 2049    310       | OK              | 12.8              55                   |
| 3       3         | 0000:88:00.0    | 0                 2621 / 8192          |
+===================+=================+========================================+</span></span></span>
www.zeeklog.com  - 华为芯片推理卡驱动安装教程

回显中“npu-smi”后面的字段为npu-smi工具版本号;“Version:”后面的字段为驱动版本号。

后续处理

使用NPU 20.2.X及以上系列版本软件包安装时,请跳过此步骤。使用NPU 20.0.X和NPU 20.1.X系列版本软件包安装时,ADA默认开放侦听端口22118。为确保系统安全,在商用环境中,需要关闭该端口。

Read more

深入理解 Proxy 和 Object.defineProperty

在JavaScript中,对象是一种核心的数据结构,而对对象的操作也是开发中经常遇到的任务。在这个过程中,我们经常会使用到两个重要的特性:Proxy和Object.defineProperty。这两者都允许我们在对象上进行拦截和自定义操作,但它们在实现方式、应用场景和灵活性等方面存在一些显著的区别。本文将深入比较Proxy和Object.defineProperty,包括它们的基本概念、使用示例以及适用场景,以帮助读者更好地理解和运用这两个特性。 1. Object.defineProperty 1.1 基本概念 Object.defineProperty 是 ECMAScript 5 引入的一个方法,用于直接在对象上定义新属性或修改已有属性。它的基本语法如下: javascript 代码解读复制代码Object.defineProperty(obj, prop, descriptor); 其中,obj是目标对象,prop是要定义或修改的属性名,descriptor是一个描述符对象,用于定义属性的特性。 1.2 使用示例 javascript 代码解读复制代码//

By Ne0inhk

Proxy 和 Object.defineProperty 的区别

Proxy 和 Object.defineProperty 是 JavaScript 中两个不同的特性,它们的作用也不完全相同。 Object.defineProperty 允许你在一个对象上定义一个新属性或者修改一个已有属性。通过这个方法你可以精确地定义属性的特征,比如它是否可写、可枚举、可配置等。该方法的使用场景通常是需要在一个对象上创建一个属性,然后控制这个属性的行为。 Proxy 也可以用来代理一个对象,但是相比于 Object.defineProperty,它提供了更加强大的功能。使用 Proxy 可以截获并重定义对象的基本操作,比如访问属性、赋值、函数调用等等。在这些操作被执行之前,可以通过拦截器函数对这些操作进行拦截和修改。因此,通过 Proxy,你可以完全重写一个对象的默认行为。该方法的使用场景通常是需要对一个对象的行为进行定制化,或者需要在对象上添加额外的功能。 对比 以下是 Proxy 和 Object.defineProperty 的一些区别对比: 方面ProxyObject.defineProperty语法使用 new Proxy(target,

By Ne0inhk