华为昇腾 NPU 适配总览
本目录介绍如何将华为昇腾 NPU 接入 CubeStudio,涵盖驱动/运行时安装、k8s 设备插件与监控、NPU 静态/动态虚拟化(vNPU),以及 MindIE 大模型分布式推理。
平台侧配置:config.py 的 GPU_RESOURCE 已内置昇腾资源名映射(npu310 → huawei.com/Ascend310、npu310p → huawei.com/Ascend310P、npu910 → huawei.com/Ascend910、vnpu → huawei.com/Ascend910-5c.1cpu.16g,见 myapp/config.py:1244-1247),禁用占用通过 GPU_NONE 的 ASCEND_VISIBLE_DEVICES=void 实现(myapp/config.py:1265-1266)。
工具架构(MindX DL 组件)
| 组件 | 功能介绍 |
|---|---|
| Ascend Docker Runtime | 为训推任务提供容器化支持,自动挂载所需文件和设备依赖。 |
| Ascend Device Plugin | 基于 Kubernetes 设备插件机制,提供昇腾 AI 处理器的设备发现、分配和健康状态上报功能,使 Kubernetes 能管理昇腾 AI 处理器资源。 |
| NPU Exporter | 实时监测昇腾 AI 处理器的资源指标,获取利用率、温度、电压等信息。 |
| Volcano | 基于开源 Volcano 调度插件机制,增加昇腾 AI 处理器的亲和性调度、故障重调度等特性。 |
| ClusterD | 提供集群级别的可用资源信息。收集集群任务/资源/故障信息及影响范围,从任务、芯片和故障维度统计分析。 |
| Ascend Operator | 提供训练任务生命周期管理,为不同 AI 框架的分布式训练任务提供环境变量、生成集合通讯配置。 |
| HCCL Controller | 生成分布式训练任务依赖的集合通讯配置。 |
| NodeD | 提供节点状态上报功能,上报节点心跳、CPU 和内存等故障信息。 |
| Resilience Controller | 提供弹性缩容训练服务,硬件故障时剔除该硬件并继续训练。 |
| Elastic Agent | 提供训练任务故障时刻保存临终 CheckPoint 能力。 |
| MindIO ACP | 大模型训练中使用训练服务器内存作为缓存,加速 CheckPoint 的保存与加载。 |
| MindIO TTP | 针对大模型训练故障,故障后即刻保存一次 CheckPoint,减少训练迭代损失。 |

华为镜像仓库
昇腾支持的镜像(AscendHub):https://www.hiascend.com/developer/ascendhub
子篇目录
- 01-基础部署:机器环境初始化(驱动/CANN)、配置 Ascend Docker/containerd 运行时、配置 k8s(device-plugin、npu-exporter)。
- 02-vNPU 虚拟化:在主机上静态切分虚拟 NPU、修改 device-plugin、验证与 PyTorch 测试。
- 03-MindIE 分布式推理:NPU 网卡配置、ranktable.json、MindIE 多机推理环境变量与启动。