CCE AI套件(Ascend NPU)
插件简介
CCE AI套件(Ascend NPU)是支持容器里使用huawei NPU设备的管理插件,提供驱动自动安装、设备注册与调度支持、性能监控和虚拟化资源管理等功能。通过该插件,用户可实现NPU资源的自动化部署、精细化调度、可视化监控和虚拟化使用,满足多样化的异构算力需求。常用应用场景包括:
- AI模型训练:支持多卡并行和精细化资源调度,提升大规模模型训练效率与稳定性。
- AI推理与在线服务:提供低延迟、按需分配的算力支持,保障推理任务的实时性与服务可用性。
- 资源隔离环境:通过vNPU管理实现资源粒度划分,满足多用户场景下的算力隔离与配额控制。
安装本插件后,可创建“AI加速型”节点,实现快速高效地处理推理和图像识别等工作。
约束与限制
- 集群中使用“AI加速型”节点时必须安装CCE AI套件(Ascend NPU)插件。
- “AI加速型”节点迁移后会重置节点。如果目标集群的CCE AI套件(Ascend NPU)插件开启了“自动安装驱动”功能(仅插件版本为1.2.5及以上时支持),且选择了NPU节点机型对应的驱动,节点迁移后将自动安装NPU驱动。
- 插件版本在1.2.8以下时,驱动安装完成后需要手动重启节点才能生效。
- 插件版本在1.2.8及以上时,驱动安装完成后,节点将会自动重启。重启完成后,驱动生效。
- 若已在节点池的“安装后执行脚本”设置了NPU驱动安装命令,且开启了“自动安装驱动”功能并选择了对应机型的NPU驱动,节点池扩容会导致前端设置的安装命令和npu-driver-installer Pod同时在新增节点上安装驱动,可能导致安装的驱动和预期不符或安装失败。因此,不建议在huawei-npu驱动选择功能已开启的情况下,对已设置“安装后执行脚本”NPU驱动安装命令的节点池进行扩容,或在创建新节点池时设置“安装后执行脚本”用于安装NPU驱动。
安装插件
- 登录CCE控制台,单击集群名称进入集群。
- 单击左侧导航栏的“插件中心”,在右侧找到CCE AI套件(Ascend NPU)插件,单击“安装”。
- 在“安装插件”页面的“指标观测”中,选择是否“启用npu-exporter组件进行NPU指标观测”,开启后插件将以DaemonSet形式在NPU节点上部署npu-exporter组件。使用该组件时,需要注意以下两点:
- 插件版本为2.1.55及以上时,支持部署npu-exporter组件。同时,该组件需安装24.x及以上版本的NPU驱动配合使用,具体请参见安装NPU驱动。
- 启用npu-exporter组件后,如果需要将采集的NPU监控数据上报至AOM服务,请参见实现NPU指标的全面监控。
- 选择是否自动安装驱动(仅插件版本为1.2.5及以上时支持)。
- 开启:可根据NPU机型不同指定相应的驱动版本,驱动维护更灵活。
根据不同的适用机型选择是否启用驱动,启用后插件将根据用户指定的驱动版本自动进行驱动安装。默认使用“推荐驱动”,您也可以选择“自定义驱动”并填写完整的驱动地址。
- 插件将根据用户针对指定机型选择的驱动版本进行驱动安装。仅对未安装NPU驱动的节点生效,已安装 NPU 驱动的节点会保持现状。升级或编辑插件参数时修改驱动版本也只对未安装 NPU 驱动的节点生效。
- 驱动安装成功后,节点会自动重启。为防止重启中业务受损,建议提前对节点进行排水操作,排空节点上的业务负载后再安装或升级驱动。关于节点排水的具体步骤,请参见节点排水。驱动安装成功的确认方式请参见如何确认节点NPU驱动已安装完成。
- 插件卸载不会自动删除已安装的NPU驱动,如需卸载,卸载方式请参见NPU驱动卸载。
- 关闭:无法根据用户诉求指定驱动版本,无法依靠插件进行驱动维护。当不开启驱动选择时,如从控制台创建NPU节点,控制台会自动补充NPU驱动(用户无法指定版本和类型)安装命令,并在安装完成后自动重启节点;如通过API或其他方式创建节点则需要用户在“安装后执行脚本”中添加驱动安装命令。
- 支持的NPU卡类型和对应的操作系统规格如下:
表1 规格适配 NPU卡类型
支持的操作系统
Snt3(ascend-snt3)
EulerOS 2.5 x86、CentOS 7.6 x86、EulerOS 2.9 x86、EulerOS 2.8 arm
说明:Snt3 ARM机型最高支持至EulerOS 2.8 arm,且该操作系统已EOS,具体请参见镜像停止服务与支持计划。
Standard/Turbo集群v1.28及以上版本不再支持EulerOS 2.8 arm,如需在v1.28及以上集群中使用NPU资源,请参考集群版本与操作系统对应关系和NPU卡与操作系统对应关系,选择兼容的NPU资源,具体的购买流程请参见Lite Cluster使用流程。
- 开启:可根据NPU机型不同指定相应的驱动版本,驱动维护更灵活。
- 单击“安装”。
组件说明
容器组件 |
说明 |
资源类型 |
---|---|---|
npu-driver-installer |
该容器运行在NPU节点上,负责安装NPU驱动。 |
DaemonSet |
huawei-npu-device-plugin |
支持容器里使用huawei NPU设备的管理插件。 |
DaemonSet |
npu-exporter |
需要手动启用该组件,启用后以DaemonSet的形式部署在每个NPU节点上,用于监控和收集NPU的指标数据。 |
DaemonSet |
ascend-vnpu-manager |
插件安装完成后,在“配置中心>异构资源配置”中开启NPU虚拟化后,插件将自动在符合条件的节点中部署该组件。通过该组件可以实现节点池粒度的NPU虚拟化,以生成虚拟NPU(vNPU),从而实现资源的高效利用。更多信息请参见NPU虚拟化。 |
DaemonSet |
NPU指标
1.25及以上版本的CCE Standard/Turbo集群中,以下NPU指标通过device-plugin暴露,支持AOM采集上报和展示。
指标 |
监控级别 |
备注 |
---|---|---|
cce_npu_memory_total |
NPU卡 |
NPU卡显存总量 |
cce_npu_memory_used |
NPU卡 |
NPU卡显存使用量 |
cce_npu_utilization |
NPU卡 |
NPU卡算力使用率 |
如何确认节点NPU驱动已安装完成
NPU驱动安装成功后需要重启节点才能生效,且重启节点前需要确认驱动已经安装完成,否则驱动将无法生效,NPU资源不可用。驱动安装完成确认方式如下:
- 在集群 “插件中心”页面,单击插件名称查看插件“实例列表”。
- 查看该节点上部署的 npu-driver-installer 实例状态为“运行中”。
若在NPU驱动安装完成前就重启了节点,可能导致驱动安装失败,节点重启后集群“节点管理”页面对应的节点会显示“驱动未就绪”。此时需要先卸载该节点上的NPU驱动,再重启 npu-driver-installer Pod,才能重新安装NPU驱动,按上述步骤确认驱动安装完成后再重启节点。驱动卸载方式请参见NPU驱动卸载。
NPU驱动卸载
请登录节点,通过 /var/log/ascend_seclog/operation.log 获取驱动操作记录,确认最后一次安装的驱动 run 包;若该日志不存在,则一般使用 npu_x86_latest.run或 npu_arm_latest.run 驱动合一包安装;找到驱动安装包后,执行 bash {run 包名称} --uninstall 命令即可卸载,卸载成功后根据提示决定是否重启节点。
- 登录需要卸载NPU驱动的节点,查看 /var/log/ascend_seclog/operation.log 是否存在。
- 若 /var/log/ascend_seclog/operation.log 日志存在,查看驱动安装日志,可查找到驱动安装记录。
若 /var/log/ascend_seclog/operation.log 日志不存在,则可能是通过 npu_x86_latest.run或 npu_arm_latest.run 驱动合一包安装的,可通过 /usr/local/HiAI/driver/ 路径是否存在进行确认。
NPU驱动合一包一般放在 /root/d310_driver 目录下,其他驱动安装包一般放在 /root/npu-drivers 目录下。
- 找到驱动安装包后,执行 bash {run 包路径} --uninstall 命令即可卸载,以 Ascend310-hdk-npu-driver_6.0.rc1_linux-x86-64.run 为例:
bash /root/npu-drivers/Ascend310-hdk-npu-driver_6.0.rc1_linux-x86-64.run --uninstall
- 根据提示信息确认是否需要重启节点(当前使用的NPU驱动安装和卸载都需要重启节点才能生效)。
版本记录
插件版本 |
支持的集群版本 |
更新特性 |
---|---|---|
2.1.63 |
v1.25 v1.27 v1.28 v1.29 v1.30 v1.31 v1.32 |
支持CCE v1.32集群 |
2.1.53 |
v1.25 v1.27 v1.28 v1.29 v1.30 v1.31 |
修复安全漏洞 |
2.1.46 |
v1.21 v1.23 v1.25 v1.27 v1.28 v1.29 v1.30 v1.31 |
支持CCE v1.31集群 |
2.1.23 |
v1.21 v1.23 v1.25 v1.27 v1.28 v1.29 v1.30 |
修复部分问题 |
2.1.22 |
v1.21 v1.23 v1.25 v1.27 v1.28 v1.29 v1.30 |
|
2.1.14 |
v1.21 v1.23 v1.25 v1.27 v1.28 v1.29 v1.30 |
修复部分问题 |
2.1.7 |
v1.21 v1.23 v1.25 v1.27 v1.28 v1.29 |
修复了为业务容器自动挂载npu-smi失败的问题 |
2.1.5 |
v1.21 v1.23 v1.25 v1.27 v1.28 v1.29 |
|
2.0.9 |
v1.21 v1.23 v1.25 v1.27 v1.28 |
修复进程级故障恢复和给工作负载添加注解偶现失败问题 |
2.0.5 |
v1.21 v1.23 v1.25 v1.27 v1.28 |
|
1.2.14 |
v1.19 v1.21 v1.23 v1.25 v1.27 |
支持NPU监控 |
1.2.6 |
v1.19 v1.21 v1.23 v1.25 |
支持NPU驱动自动安装 |
1.2.5 |
v1.19 v1.21 v1.23 v1.25 |
支持NPU驱动自动安装 |
1.2.4 |
v1.19 v1.21 v1.23 v1.25 |
适配CCE v1.25集群 |
1.2.2 |
v1.19 v1.21 v1.23 |
适配CCE v1.23集群 |
1.2.1 |
v1.19 v1.21 v1.23 |
适配CCE v1.23集群 |
1.1.8 |
v1.15 v1.17 v1.19 v1.21 |
适配CCE v1.21集群 |
1.1.2 |
v1.15 v1.17 v1.19 |
配置seccomp默认规则 |
1.1.1 |
v1.15 v1.17 v1.19 |
兼容CCE v1.15集群 |
1.1.0 |
v1.17 v1.19 |
适配CCE v1.19集群 |
1.0.8 |
v1.13 v1.15 v1.17 |
适配Snt3 C75驱动 |
1.0.6 |
v1.13 v1.15 v1.17 |
支持C75驱动 |
1.0.5 |
v1.13 v1.15 v1.17 |
支持容器里使用huawei NPU设备的管理插件 |
1.0.3 |
v1.13 v1.15 v1.17 |
支持容器里使用huawei NPU设备的管理插件 |