Atlas 800 推理服务器(型号:3000)24.0.0 昇腾软件安装指南
本文主要向用户介绍基于Atlas 800 推理服务器(型号:3000)配置Atlas 300推理卡,如何快速完成昇腾NPU(Neural-Network Processing Unit,神经网络处理器单元)驱动固件、CANN(Compute Architecture for Neural Networks,AI异构计算架构)软件的安装,各软件说明如所示。表1-1 昇腾软件介绍软件类型软件介绍昇腾N
安装说明
本文主要向用户介绍基于Atlas 800 推理服务器(型号:3000)配置Atlas 300推理卡,如何快速完成昇腾NPU(Neural-Network Processing Unit,神经网络处理器单元)驱动固件、CANN(Compute Architecture for Neural Networks,AI异构计算架构)软件的安装,各软件说明如表1-1所示。
软件类型 |
软件介绍 |
---|---|
昇腾NPU固件 |
固件包含昇腾AI处理器自带的OS 、电源器件和功耗管理器件控制软件,分别用于后续加载到AI处理器的模型计算、芯片启动控制和功耗控制。 |
昇腾NPU驱动 |
部署在昇腾服务器,用于管理查询昇腾AI处理器,同时为上层CANN软件提供芯片控制、资源分配等接口。 |
CANN |
部署在昇腾服务器,包含Runtime、算子库、图引擎、媒体数据处理等组件,通过AscendCL(Ascend Computing Language,昇腾计算语言)对外提供Device管理、Context管理、Stream管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理等API,帮助开发者实现在昇腾软硬件平台上开发和运行AI业务。 CANN主要安装以下软件:
|
MindIE |
推理加速套件,包含深度优化的模型库、大模型推理优化器和运行环境,提升大模型推理易用性和性能。 |
安装场景
根据用户运行推理业务的环境选择安装场景。
NPU驱动固件需要部署在物理机,其他昇腾软件如CANN和MindIE,需和推理程序部署在同一环境;如果要运行大模型推理业务(仅Atlas 300I Duo 推理卡支持),需要安装NNAL和MindIE。
大模型推理场景(Atlas 300I Duo 推理卡)
- 如果用户使用容器运行推理业务,本文可直接提供一个包含PyTorch框架、CANN、已适配NPU的典型大模型样例(如ChatGLM3-6B,含模型权重、推理脚本)的容器镜像,启动容器后将推理程序放入容器进行推理。
- 如果用户直接在裸机运行推理业务,则需在物理机部署昇腾软件。
基础模型推理场景(Atlas 300I Pro 推理卡/Atlas 300V Pro 视频解析卡/Atlas 300V 视频解析卡/Atlas 300I Duo 推理卡)
- 如果用户使用容器运行推理业务,可构建包含CANN的容器镜像,启动容器后将推理程序放入容器进行推理。
- 如果用户直接在裸机运行推理业务,则需在物理机部署昇腾软件。
硬件配套和支持的操作系统
本文介绍的硬件配套和支持的操作系统如表1-2所示,系统架构为Arm架构。
针对大模型推理场景,建议使用96GB内存的Atlas 300I Duo 推理卡,确保内存能满足大模型的参数要求。
硬件款型 |
操作系统 |
---|---|
Atlas 800 推理服务器(型号:3000)+Atlas 300I Pro 推理卡 |
单击兼容性查询助手,“产品系列”选择“服务器”,“产品型号”选择“Atlas 800 推理服务器(型号:3000)”,“NPU”选择相应的推理卡查询操作系统兼容性。 |
Atlas 800 推理服务器(型号:3000)+Atlas 300V Pro 视频解析卡 |
|
Atlas 800 推理服务器(型号:3000)+Atlas 300V 视频解析卡 |
|
Atlas 800 推理服务器(型号:3000)+Atlas 300I Duo 推理卡 |
安装流程
容器安装流程
表2-1 容器安装流程
任务 |
任务说明 |
---|---|
安装硬件设备 |
请参见《Atlas 800 推理服务器 用户指南 (型号 3000)》的“安装与配置”章节,完成硬件的安装。 |
安装OS |
请参见OS安装指南完成对应OS的安装,OS需要连接网络和启动SSH远程登录服务。 |
下载软件包 |
请参见下载软件,下载对应的软件包。 |
在物理机上安装NPU驱动固件 |
请参见安装NPU驱动固件,在物理机上安装NPU驱动固件之前,仔细确认操作系统和内核版本,选择正确的安装方式。 |
安装Docker |
请参见部署Docker,用户在当前服务器上部署Docker软件。 |
部署容器 |
|
物理机安装流程
表2-2 物理机安装流程
任务 |
任务说明 |
---|---|
安装硬件设备 |
请参见《Atlas 800 推理服务器 用户指南 (型号 3000)》的“安装与配置”章节,完成硬件的安装。 |
安装OS |
请参见OS安装指南完成对应OS的安装,OS需要连接网络和启动SSH远程登录服务。 |
下载软件包 |
请参见下载软件,下载对应的软件包。 |
在物理机上安装NPU驱动固件 |
请参见安装NPU驱动固件,在物理机上安装NPU驱动固件之前,仔细确认操作系统和内核版本,选择正确的安装方式。 |
安装依赖 |
请参见安装依赖,安装CANN前,需要安装依赖。安装依赖前,需检查源是否可用。 |
安装CANN |
请参见安装昇腾软件,CANN安装完成后,用户即可以开始开发或运行业务。 |
运行样例 |
请参见运行基础模型推理样例,用户可运行样例,验证环境是否搭建成功。 |
如果服务器无法联网导致系统无法在线安装CANN所需的系统依赖,可以在下载软件包后,参见使用Ascend Deployer工具部署昇腾软件(适用于服务器不能联网下载依赖场景)下载系统依赖,然后使用工具部署NPU驱动固件和昇腾软件。
下载软件
下载本软件即表示您同意华为企业业务最终用户许可协议(EULA)的条款和条件。
若用户需要查询昇腾软件版本配套关系,可单击链接进行查询。
软件包下载
软件类型 |
软件包名称和下载链接 |
---|---|
NPU驱动 |
单击企业网链接或运营商链接(“软件分类”勾选“310系列-aarch64”),下载软件包“Ascend-hdk-xxx-npu-driver_24.1.0.1_linux-aarch64.run”和对应的cms/pgp签名文件。 |
NPU固件 |
单击企业网链接或运营商链接(“软件分类”勾选“310系列-aarch64”),下载软件包“Ascend-hdk-xxx-npu-firmware_7.5.0.5.220.run”和对应的cms/pgp签名文件。 |
MCU |
单击企业网链接或运营商链接(“软件分类”勾选“310系列-aarch64”),下载软件包“Ascend-hdk-xxx-mcu_24.5.7.zip”和对应的cms/pgp签名文件。 |
Toolkit(开发套件包) |
单击企业网链接或运营商链接(“软件分类”勾选“AArch64.run”),下载软件包“Ascend-cann-toolkit_8.0.0_linux-aarch64.run”和对应的cms/pgp签名文件。 |
kernels(二进制算子包) |
单击企业网链接或运营商链接(“软件分类”勾选“AArch64.run”),下载软件包“Ascend-cann-kernels-xxx_8.0.0_linux-aarch64.run”和对应的cms/pgp签名文件。 |
NNAL(加速库) |
单击企业网链接或运营商链接(“软件分类”勾选“AArch64.run”),下载软件包“Ascend-cann-nnal_8.0.0_linux-aarch64.run”和对应的cms/pgp签名文件。 |
Ascend Deployer工具 |
单击链接,选择“克隆/下载”,单击“下载ZIP”,下载Ascend Deployer工具软件包“ascend-deployer-6.0.0.zip”。 |
软件数字签名验证
为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的数字签名文件用于完整性验证。
在软件包下载之后,请参考《OpenPGP签名验证指南》,对从Support网站下载的软件包进行PGP数字签名校验。如果校验失败,请不要使用该软件包,先联系华为技术支持工程师解决。
运营商客户请访问:http://support.huawei.com/carrier/digitalSignatureAction
企业客户请访问:https://support.huawei.com/enterprise/zh/tool/pgp-verify-TL1000000054
安装NPU驱动固件
安装说明
1)首次安装场景:硬件设备刚出厂时未安装驱动,或者硬件设备前期安装过驱动固件但是当前已卸载,上述场景属于首次安装场景,需按照“驱动 > 固件”的顺序安装驱动固件。
2)覆盖安装场景:硬件设备前期安装过驱动固件且未卸载,当前要再次安装驱动固件,此场景属于覆盖安装场景,需按照“固件 > 驱动”的顺序安装固件驱动。
检查安装环境
在安装驱动固件前,建议按照以下检查项检查环境,确保驱动固件能正常安装。
表4-1 环境检查
检查项 |
检查方法 |
---|---|
检测卡是否正常在位 |
可通过命令行或BMC管理页面检测卡是否正常在位,如果执行命令时,提示没有安装lspci,可通过BMC管理页面检查。 执行lspci | grep d500命令,如果服务器上有N(N>0)张卡,回显中含“d500”字段的行数为N,则表示卡正常在位。 01:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d500 (rev 23) ...... 若回显类似如下信息,则参见驱动安装缺少依赖报错解决。 command lscpi not found 如果卡所在的服务器是华为服务器,可通过BMC管理网口登录iBMC WebUI界面,选择“系统管理 > 系统信息”,单击“其他”。若推理卡的PCIe卡信息在“PCIe卡”列表中,表示卡正常在位。 |
确认操作系统和内核版本
在安装驱动前,需要用户确认现场操作系统和内核版本,从而确定是否需要安装驱动编译所需依赖。
执行如下命令查看现场服务器操作系统和内核版本,并和华为的版本要求进行对比。
uname -m && cat /etc/*release uname -r
如果现场服务器连通外网,Ubuntu系统会自动升级内核,因此安装NPU驱动前,需要检查内核版本,如果内核版本和配套表中的不一致,需要使用下表中介绍的源码编译方式安装。同时建议关闭内核自动更新机制,避免更新后NPU驱动不可用。
执行如下命令关闭内核自动更新:
apt-mark hold linux-image-generic linux-headers-generic linux-image-extra
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版本) |
openEuler 20.03 LTS |
aarch64 |
4.19.90-2003.4.0.0036.oe1.aarch64 |
7.3.0 |
openEuler 22.03 LTS |
aarch64 |
5.10.0-60.18.0.50.oe2203.aarch64 |
10.3.1 |
Kylin V10 SP1 |
aarch64 |
4.19.90-17.ky10.aarch64 |
7.3.0 |
Kylin V10 SP2 |
aarch64 |
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 |
CUlinux 3.0 |
aarch64 |
5.10.0-60.67.0.104.ule3.aarch64 |
10.3.1 |
UOS20 1050e |
aarch64 |
4.19.90-2201.4.0.0135.up1.uel20.aarch64 |
10.3.1 |
表4-3 Atlas 300V Pro 视频解析卡
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版本) |
openEuler 20.03 LTS |
aarch64 |
4.19.90-2003.4.0.0036.oe1.aarch64 |
7.3.0 |
openEuler 22.03 LTS |
aarch64 |
5.10.0-60.18.0.50.oe2203.aarch64 |
10.3.1 |
Kylin V10 SP1 |
aarch64 |
4.19.90-17.ky10.aarch64 |
7.3.0 |
UOS20 1050e |
aarch64 |
4.19.90-2201.4.0.0135.up1.uel20.aarch64 |
10.3.1 |
表4-4 Atlas 300I Duo 推理卡
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
---|---|---|---|
Ubuntu 20.04 |
aarch64 |
5.4.0-26-generic |
9.3.0 |
Kylin V10 SP1 |
aarch64 |
4.19.90-17.ky10.aarch64 |
7.3.0 |
Kylin V10 SP3 |
aarch64 |
4.19.90-52.22.v2207.ky10.aarch64 |
7.3.0 |
openEuler 22.03 LTS |
aarch64 |
5.10.0-60.18.0.50.oe2203.aarch64 |
10.3.1 |
UOS20 1020e |
aarch64 |
4.19.90-2106.3.0.0095.up2.uel20.aarch64 |
7.3.0 |
host操作系统版本 |
host操作系统架构 |
软件包默认的host操作系统内核版本 |
gcc编译器版本 |
---|---|---|---|
Ubuntu 20.04 |
aarch64 |
5.4.0-26-generic |
原生gcc(源自带gcc版本) |
openEuler 22.03 LTS |
aarch64 |
5.10.0-60.18.0.50.oe2203.aarch64 |
10.3.1 |
Kylin V10 SP1 |
aarch64 |
4.19.90-17.ky10.aarch64 |
7.3.0 |
安装驱动固件
1、以root用户登录服务器。
详细操作可参考远程登录服务器。
2、创建驱动运行用户HwHiAiUser(运行驱动进程的用户),安装驱动时无需指定运行用户,默认即为HwHiAiUser。
groupadd HwHiAiUser useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
3、安装驱动源码编译所需依赖。
- CentOS 7.6、Ubuntu 20.04操作系统可跳过该步骤。
- CUlinux 3.0、Kylin V10 SP1、Kylin V10 SP2、Kylin V10 SP3、openEuler 20.03 LTS、openEuler 22.03 LTS、UOS20 1020e、UOS20 1050e操作系统请参见安装驱动源码编译所需依赖安装依赖。
4、将驱动包和固件包上传到服务器任意目录如“/home”。
5、进入驱动包和固件包所在目录,执行如下命令,增加驱动和固件包的可执行权限。
chmod +x Ascend-hdk-xxx-npu-driver_24.1.0.1_linux-aarch64.run chmod +x Ascend-hdk-xxx-npu-firmware_7.5.0.5.220.run
6、执行以下命令,完成驱动固件安装,软件包默认安装路径为“/usr/local/Ascend”。
首次安装场景,需按照“驱动 > 固件”的顺序安装驱动固件;覆盖安装场景,需按照“固件 > 驱动”的顺序安装固件驱动。
- 安装驱动执行以下命令,完成驱动安装。
./Ascend-hdk-xxx-npu-driver_24.1.0.1_linux-aarch64.run --full --install-for-all
- 若执行上述安装命令出现类似如下回显信息,请参见驱动安装缺少依赖报错解决。
[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.
- 若系统出现如下关键回显信息,则表示驱动安装成功。
Driver package installed successfully!
- 若执行上述安装命令出现类似如下回显信息,请参见驱动安装缺少依赖报错解决。
- 安装固件执行以下命令,完成固件安装。
./Ascend-hdk-xxx-npu-firmware_7.5.0.5.220.run --full
若系统出现如下关键回显信息,表示固件安装成功。
Firmware package installed successfully! Reboot now or after driver installation for the installation/upgrade to take effect
7、执行reboot命令重启系统。
8、重启系统后,以root用户登录服务器。参见远程登录服务器。
9、执行npu-smi info查看驱动加载是否成功。
若出现类似如下图所示回显信息,说明加载成功。否则,说明加载失败。请联系华为技术支持处理。
升级MCU
MCU是推理卡带外管理模块,具备单板监测、故障上报等功能。出厂时推理卡已集成了初始版本,为了保障所有功能正常使用,请将MCU升级到配套版本。
本章内容主要介绍通过npu-smi工具和iBMC升级MCU,npu-smi工具可以将单个推理卡的MCU升级到相应版本,如果配备了多个推理卡,需要逐个升级,iBMC可以批量升级到相应版本。
方式一:通过npu-smi工具升级。
1、将获取的zip包解压至本地文件夹,获取安装包。
Ascend-hdk-xxx-mcu_24.5.7.hpm
2、以root用户登录服务器,将安装包上传至Linux系统任意目录下(如“/home”)。
3、执行npu-smi info -l命令查询NPU ID(推理卡的设备编号)。
回显类似如下信息,NPU ID为8。
Card Count : 1 NPU ID : 8 Product Name : IT21DMPB01 Serial Number : 033EFS10M8000087 Chip Count : 4
4、进入MCU软件包所在路径,执行如下命令启动升级(将NPU ID替换为3中查询到的设备编号)。
npu-smi upgrade -t mcu -i NPU ID -f Ascend-hdk-xxx-mcu_24.5.7.hpm
出现类似如下回显表示升级成功。
Start upgrade [100]. Status : OK Message : Start device upgrade 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 : 24.5.7
方式二:通过iBMC Web界面升级
1、将获取的zip包解压至本地文件夹,获取安装包。
Ascend-hdk-xxx-mcu_24.5.7.hpm
2、以root用户登录服务器,执行npu-smi info -l命令查询NPU ID(推理卡的设备编号)。
回显类似如下信息,NPU ID为8。
Card Count : 1 NPU ID : 8 Product Name : IT21DMPB01 Serial Number : 033EFS10M8000087 Chip Count : 4
3、在浏览器的地址栏中输入“https://iBMC管理网口IP地址”,可打开用户登录界面。
输入“用户名”和“密码”登录iBMC Web界面。默认用户名和密码具体请参见《Atlas硬件产品 用户清单》。
4、单击“固件升级”。
5、选择升级文件,单击“开始升级”。
6、升级成功。
7、检查升级后的版本号。
1)在iBMC Web主界面导航栏中,选择“系统管理 > 系统信息”,单击“其他”。
2)在界面左侧选择“PCIe卡”,单击PCIe卡左方的下拉箭头,在打开的“扩展信息”区域查看“MCU固件版本”。各产品查询的页面有差异,请以实际查询的为准,此处以Atlas 300I Pro 推理卡图4-1为例。
MCU新版本生效后,如需再次升级,请等待5min后再次操作。
如果升级后不是目标版本或者升级失败,请重新进行升级。如果依然升级失败,请记录故障现象和操作步骤,并联系华为技术支持解决。
部署Docker
在构建容器镜像和部署容器前,需确保现场环境(宿主机)已部署Docker,本章节介绍在宿主机部署Docker的方法。
前提条件
参见检查源配置源。
操作步骤
1、执行以下命令安装Docker。
Ubuntu 20.04
curl -fsSL https://repo.huaweicloud.com/docker-ce/linux/debian/gpg | sudo apt-key add - apt-get install -y docker-ce
CentOS 7.6、CUlinux 3.0、Kylin V10 SP1、Kylin V10 SP2、Kylin V10 SP3、openEuler 20.03 LTS、openEuler 22.03 LTS、UOS20 1020e、UOS20 1050e
yum install -y docker # 若配置了包含Docker-ce相关的源,可执行如下命令安装Docker yum install -y docker-ce
如果安装Docker时出现类似以下问题导致Docker安装失败。请参见yum install docker报错解决。
Public key for containerd.io-1.6.6-3.1.el7.xx.rpm is not installed
2、执行如下命令启动Docker。
systemctl start docker
3、执行如下命令查看Docker是否已安装并启动。
docker ps
回显以下信息表示Docker已安装并启动。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
部署容器(大模型推理场景)
在大模型推理场景,用户可直接获取包含CANN(Toolkit、Kernels、NNAL)、MindIE、典型大模型和推理脚本的大模型推理容器镜像,用户可以在物理机上直接运行该容器镜像从而实现快速运行容器。仅Atlas 300I Duo 推理卡支持大模型推理容器镜像,其他推理卡配置需参见部署容器(基础模型推理场景)制作和运行容器。
获取容器镜像
执行如下操作步骤获取镜像文件。
1、单击链接,下载镜像文件“mindie_1.0.RC2_aarch64_300I_DUO.tar”,该镜像文件大约30G,请用户耐心等待。
镜像文件SHA256值:“68353a12c68abda980cfccfce0360d3b9ade278e72a3119687fc3fcc6d0560c0”,用于文件完整性校验。
本镜像仅用于容器运行昇腾软件的参考,请勿直接使用该镜像用于商业用途。
2、将镜像文件上传至服务器任意目录(如/home),在该目录下执行sha256sum mindie_1.0.RC2_aarch64_300I_DUO.tar命令生成SHA256值。若与上述SHA256值保持一致,则表示镜像文件下载完整;若不一致,则表示镜像文件下载不完整,需重新下载。
3、执行如下命令导入镜像。
docker load < mindie_1.0.RC2_aarch64_300I_DUO.tar
运行容器
1、请执行如下命令基于导入的镜像运行一个容器。
docker run -itd --ipc=host --net=host \ --name=infer_chatglm3-6b \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \ -v /home/hwtest:/home/hwtest \ 47cd2d4f1926 \ /bin/bash
- “--name=infer_chatglm3-6b”:infer_chatglm3-6b为容器名称,用户可自定义。
- “-v /home/hwtest:/home/hwtest”:“/home/hwtest”为挂载目录,用户可自行配置需要挂载至docker容器中的目录。“/home/hwtest”仅为示例(可以自行创建)。
- “47cd2d4f1926”:导入的镜像ID,该镜像ID无需修改。可执行docker images命令查询导入的镜像。
- 其他参数请保持默认。
2、执行如下命令进入容器。“infer_chatglm3-6b”为容器名称,仅为示例。
docker exec -it infer_chatglm3-6b /bin/bash
3、进入容器后,用户即可运行推理业务。
运行样例
该镜像包含ChatGLM3-6B模型权重和推理脚本,可进行大模型推理。
1、进入容器后,可执行如下命令,运行ChatGLM3-6B推理样例。“/opt/chatglm3-6b”为容器的模型权重路径。
cd /usr/local/Ascend/llm_model bash examples/models/chatglm/v2_6b/run_300i_duo_pa.sh /opt/chatglm3-6b
回显如图5-1所示信息,表示推理成功。
2、该模型还包含其他样例,“/usr/local/Ascend/llm_model/examples/models”目录如图5-2所示。当前容器镜像chatglm3-6b模型包含权重,可以直接运行推理。如果需要运行其他样例,请进入对应的模型目录,参考模型目录下的“README.md”文件配置所需的模型权重和依赖进行推理。
更多推荐
所有评论(0)