安装NPU驱动固件
物理机和容器部署场景,只需要在物理机安装NPU驱动固件。
虚拟机部署场景,除了在物理机安装NPU驱动固件外,还需要在虚拟机安装NPU驱动。
安装说明
- 首次安装场景:硬件设备刚出厂时未安装驱动,或者硬件设备前期安装过驱动固件但是当前已卸载,上述场景属于首次安装场景,需按照“驱动 > 固件”的顺序安装驱动固件。
- 覆盖安装场景:硬件设备前期安装过驱动固件且未卸载,当前要再次安装驱动固件,此场景属于覆盖安装场景,需按照“固件 > 驱动”的顺序安装固件驱动。用户可使用npu-smi info命令查询当前环境是否安装驱动。
安装驱动和固件
- 以root用户登录安装环境,将驱动包和固件包上传到服务器任意目录如“/home”。
- 安装驱动所需依赖。
- 执行如下命令检查源是否可用。
如果命令执行报错或者等待时间过长,则检查网络是否连接或修改“/etc/apt/sources.list”文件为可用源(以配置华为镜像源为例,可参考华为开源镜像站中镜像源对应的配置方法操作)。
openEuler系列(包含openEuler、CentOS、Kylin、BCLinux、BC-Linux-for-Euler、UOS201050e、UOS20 1020e、UOSV20、AntOS、CTyunOS、CULinux、Tlinux操作系统):yum makecache
如果命令执行报错或者等待时间过长,则检查网络是否连接或修改“/etc/yum.repos.d/xxxx.repo”文件为可用源(以配置华为镜像源为例,可参考华为开源镜像站中镜像源对应的配置方法操作)。
- 执行命令安装所需依赖
openEuler系列:
yum install -y make dkms gcc kernel-headers-$(uname -r) kernel-devel-$(uname -r)
如果出现报错,或者依赖不存在请参考安装驱动源码编译所需依赖解决。
- 执行如下命令检查源是否可用。
- 进入软件包所在目录,执行如下命令增加执行权限和校验软件包的一致性和完整性。
chmod +x Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run chmod +x Ascend-hdk-<chip_type>-npu-firmware_<version>.run ./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --check ./Ascend-hdk-<chip_type>-npu-firmware_<version>.run --check
出现如下回显信息,表示软件包校验成功。
Verifying archive integrity... 100% SHA256 checksums are OK. All good.
- 安装驱动和固件,软件包默认安装路径为“/usr/local/Ascend”。
- 执行如下命令安装驱动。
./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --full --install-for-all
- 若系统出现如下关键回显信息,则表示驱动安装成功。
Driver package installed successfully!
- 若执行上述安装命令出现类似如下回显信息,请参见驱动安装缺少依赖报错解决。
[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.
- 若执行上述安装命令出现缺失部分Linux工具,请根据安装过程中回显信息提示自行安装。
- 若系统出现如下关键回显信息,则表示驱动安装成功。
- 执行如下命令安装固件。
./Ascend-hdk-<chip_type>-npu-firmware_<version>.run --full
若系统出现如下关键回显信息,表示固件安装成功。
Firmware package installed successfully! Reboot now or after driver installation for the installation/upgrade to take effect
如果创建的运行用户和运行用户组是非HwHiAiUser(含root),安装驱动固件包时必须指定运行用户,示例命令如下,如果对运行用户名称没有特殊要求,建议使用HwHiAiUser。
./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --full --install-username=<username> --install-usergroup=<usergroup>
- 执行如下命令安装驱动。
- 执行如下命令重启系统。
reboot
- 执行如下命令查看驱动加载是否成功