一、引言
想要将用pytorch框架写的联邦学习攻防迁移至NPU上进行训练,在安装Ascend Extension for PyTorch
(即torch_npu插件)之前,需要进行配套版本的NPU驱动固件、CANN软件的安装与CANN环境变量的
配置。在尝试的过程中,由于没有NPU硬件支持,导致最终训练任务无法施行。本文档旨在记录交流安
装NPU驱动固件的过程以及遇到的问题。
二、NPU驱动固件安装步骤
(注:为了方便安装,该部分结合自身的安装情况对官方的安装指南进行了概括与整合)
准备安装和运行用户

以root安装驱动、固件以HwHiAiUser为驱动固件运行用户和运行用户属组
以HwHiAiUser为驱动固件运行用户和运行用户属组:
groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
创建其他非root用户操作方法如下,如下命令以root用户执行,<usergroup>和<username>请自行替
换为实际用户名。
1. 创建非root用户
groupadd <usergroup>
useradd -g <usergroup> -d /home/<username> -m <username> -s /bin/bash
2. 设置非root用户密码
passwd <username>
安装驱动和固件
(注:因为是首次安装,所以先安装驱动,再安装固件)
1. 以root用户登录安装环境,将驱动包和固件包上传到服务器任意目录如“/home”
本文选择的驱动和固件安装包如下

2. 安装驱动所需依赖
a.执行如下命令检查源是否可用。
Debian系列(包含Ubuntu、Debian、UOS20、UOS20 SP1操作系统):
apt-get update
b.执行命令安装所需依赖
Debian系列:
apt-get install -y dkms gcc linux-headers-$(uname -r)
3. 进入软件包所在目录,执行如下命令增加执行权限和校验软件包的一致性和完整性
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.


如上图,软件包校验成功。
4. 安装驱动固件,软件包默认安装路径为“/usr/local/Ascend”
(注:如果驱动固件运行用户和运行用户属组未按照示例步骤创建为HwHiAiUser时,则在安装驱动
和固件包时必须指定运行用户和属组,示例命令如下:
./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --full --
install-username=<username> --install-usergroup=<usergroup> )
a.执行如下命令安装驱动:
./Ascend-hdk-<chip_type>-npu-driver_<version>_linux-<arch>.run --full --
install-for-all
若系统出现如下关键回显信息,则表示驱动安装成功Driver package installed successfully!

如上图,安装驱动时出现错误。按照官方文档指示,去参见驱动安装过程中出现dkms编译失败报
错解决。按照报错的解决方案,问题依然无法解决。
报错日志如下图。

没有官方文档说明出现该错误该如何解决。
b.执行如下命令安装固件
./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
5. 执行如下命令重启系统
reboot
6. 执行如下命令查看驱动加载是否成功
npu-smi info
若返回驱动相关信息说明加载成功

三、感受与问题
感受
1. 文档指南很全,但是要进行从驱动固件到最终的插件安装,需要一直跳转,查看起来不方便。
2. 在进行固件与驱动的软件包选择时,没有一个完整的指示文档解释产品系列、产品型号的区别
及如何选择等

问题
1. 如下图安装驱动时出现的问题没有文档指导如何解决

2. 该文档中(容器内安装与卸载),ubuntu版本最高只到22.04,没有24.04版本的兼容性关系。




