安装驱动和固件(适用于*.run格式)
Atlas 300I 推理卡(型号 3000)发布的run安装包是host安装包,用户下载和解压安装包需要在host操作系统完成。本章节介绍宿主机上的安装方法,容器内安装请参见docker容器内安装。
注意事项
- run安装包支持一键式安装,用户根据安装需求选择对应参数完成安装,具体请参见参数说明。
- 如果有安装NPU 1.X.X系列版本的驱动包,在安装NPU 20.X.X系列版本的驱动包前需要先卸载低版本驱动。
- 使用run安装包后,不要手动设置环境变量export LD_LIBRARY_PATH指向之前驱动包的SO文件,否则可能会出现run安装包内工具连接到之前版本的动态库。指向第三方库文件路径、非run安装包发布库文件路径的配置不受影响。
- 查看日志时需注意:日志时间采用的是系统时间,device侧时间与host侧时间保持同步,修改host侧时间可以使用date命令。
例如:执行date -s 17:55:55命令,将系统时间设定为17点55分55秒。
操作步骤
- 使用NPU 1.X.X系列版本软件包安装时,固件包集成在驱动包内,安装或升级驱动过程中会自动安装和升级固件。仅支持full模式进行安装,即全包安装模式。
- 使用NPU 20.X.X系列版本软件包安装时,首次安装请按照“驱动->固件”的顺序,分别安装组件run包;覆盖安装请按照“固件->驱动”的顺序,分别安装组件软件包。每个组件run包的安装步骤相同。详细操作如下:
- 软件包中的*请根据实际情况进行替换。安装包名称具体请参见表6-1。
- 参照准备软件包准备安装包“*.run”。
- 登录Atlas 300I 推理卡(型号 3000)所在服务器,并在root用户下执行以下操作。
- 将“*.run”安装包上传至到Linux系统任意目录下,如/opt下。
- 执行以下命令,进入软件包所在路径,如/opt下。
cd /opt
- 在软件包所在路径执行ls -l命令检查安装用户是否有该文件的执行权限。
- 有,执行6。
- 若没有,执行如下命令增加root用户对软件包的可执行权限。
chmod +x *.run
- 执行如下命令,校验run安装包的一致性和完整性。
./*.run --check
出现如下回显信息,表示软件包校验成功。Verifying archive integrity... 100% SHA256 checksums are OK. All good.
- 设置安装路径。
- 如果用户需要指定安装路径,则需要先创建安装路径。以“/test/HiAI/”为例,用户先执行mkdir /test/HiAI/命令,完成安装路径的创建,再选择该安装路径进行软件安装。
- 如果用户不需要指定安装路径,安装包会安装到默认路径下。
使用NPU 20.X.X系列版本软件包安装时,若用户通过--install-path=<path>参数指定Driver软件包安装路径(非默认路径),则该步骤可忽略。
- 执行安装命令完成安装。
安装过程支持一键式安装操作。
- 若用户指定安装路径,以“/test/HiAI/”为例。
- 使用NPU 1.X.X系列版本软件包,可执行./*.run --full --path /test/HiAI/命令,完成安装。
- 使用NPU 20.X.X系列版本软件包,可执行./*.run --full --install-path= /test/HiAI/命令,完成安装。
- 若未指定安装路径,可执行./*.run --full命令,完成安装。
- 安装run包驱动时,会将动态库libdcmi.so和头文件dcmi_interface_api.h拷贝到“/usr/local/dcmi/”目录下。
- run安装包安装过程中出现的异常场景及其解决方法请参见常见问题。
- 使用NPU 1.X.X系列版本软件包安装时:
- 软件包默认安装路径:/usr/local/HiAI。
- 安装过程中Ascend310驱动、固件安装和升级的日志信息输出在“/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。具体操作请参见安装驱动过程中出现“drv_dkms_env_check failed, details in : /var/log/HiAI-install.log”的报错。
- 使用NPU 20.X.X系列版本软件包安装时:
- 使用NPU 20.1.X系列版本软件包安装,如果创建的运行用户是非HwHiAiUser,安装驱动软件包时需要指定运行用户(通过--install-username=username --install-usergroup=usergroup参数指定)。安装固件软件包不支持指定运行用户名和用户组,共用Driver的运行用户名和用户组。
- 若用户指定安装路径安装驱动时:
- 若指定路径不存在,则安装时会自动创建目录,若有多层目录,则只有最后一层目录不存在时会自动创建。
- 若指定路径已存在:
- 若该路径下所有层级目录属主为root用户,则请确保所有层级目录权限至少为755。
- 若该路径下有一层目录属主为非root用户,则请用户自行修改为root属主,并确保所有层级目录权限为755。
- 固件安装不支持指定路径,共用驱动的安装路径。
- 软件包默认安装路径:/usr/local/Ascend。
- 安装详细日志路径:/var/log/ascend_seclog/ascend_install.log。
- 安装后软件包的安装路径、安装命令以及运行用户信息记录路径:/etc/ascend_install.info。
- 若用户指定安装路径,以“/test/HiAI/”为例。
- 对于通用包,若出现以下回显,说明未安装dkms,默认内核源码路径如“/lib/modules/`uname -r`/build”不存在。请根据系统提示输入相应内容:
[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]:
若需要继续安装,请输入y。
出现如下回显后,请根据提示输入您提供的内核源码的实际路径,如:/lib/modules/`uname -r`/build-bak。
Please input your kernel absolute path:
按“Enter”键继续安装。
- 若已安装dkms及相应kernel-header、kernel-devel等组件,则会自动执行dkms驱动编译安装。
- 若未安装dkms,但默认内核源码路径如“/lib/modules/`uname -r`/build”已存在,则会自动使用该内核进行驱动编译。
- 使用NPU 1.X.X系列版本软件包安装,请跳过此步骤。使用NPU 20.X.X系列版本版本软件包安装,若分别出现以下回显信息,则说明安装成功。请执行11完成重启系统。
- 驱动:
Driver package install success! Reboot needed for installation/upgrade to take effect!
- 固件:
Firmware package install success! Reboot needed for installation/upgrade to take effect!
- 驱动:
- run安装包安装完成后需要复位host主机,复位后,运行的Ascend 310软件和mini固件即为安装的最新版本。复位host主机步骤如下。
- 安装完成后,在host操作系统执行reboot命令复位,或将host机下电再上电。
- host复位后,自动安装驱动及服务,Ascend 310自动进入操作系统。
- 执行npu-smi info查看驱动加载是否成功。回显如下类似信息,说明加载成功。否则,说明安装失败,请联系华为技术支持处理。
+------------------------------------------------------------------------------+ | 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 | +===================+=================+========================================+
步骤12回显中“npu-smi”后面的字段为NPU版本号。使用NPU 1.X.X系列版本软件包安装时,“Version:”后面的字段为驱动/芯片固件版本号。使用NPU 20.X.X系列版本软件包安装时,“Version:”后面的字段为驱动版本号,芯片固件版本号请执行/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component -1 --version命令查询,如果安装驱动时指定安装路径,则命令中的“/usr/local/Ascend”请根据实际情况替换。
后续处理
使用NPU 20.X.X系列版本软件包安装时,ADA默认开放监听端口22118。为确保系统安全,在商用环境中,需要关闭该端口。
“/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!保存退出。
- 切换到“/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 ada进程ID
启动ada进程。
/usr/local/Ascend/driver/tools/ada &