🚀 2025 年中国信息通信研究院《OSCAR 尖峰开源项目及开源社区》、腾讯科技《杰出贡献奖》、CNCF Landscape。欢迎 GitHub ❤️

发展历程

再升级!华为昇腾 NPU 进入华佗开源生态

大规模 AI 训练中,单点硬件异常就可能拖慢甚至中断整个任务。NSDI 2025 论文 Minder 基于生产环境中 7 个月的数据统计发现,部分训练任务规模超过 1 万块 GPU,平均每天遭遇约 2 次意外软硬件故障;机内硬件故障占全部故障的 55.8%,其中 ECC 错误占 38.9%。Meta 对 Llama 3 系列模型训练的统计显示,超过 66% 的中断与硬件故障有关。

硬件可靠性已成为影响大规模 AI 集群稳定运行的关键因素。针对这一问题,华为昇腾团队贡献的 PR #198 已合入 HUATUO(华佗),正式支持华为昇腾 NPU 的深度观测。该功能通过 DCMI、PCIe 和 HCCN 三类采集路径,持续监测设备状态、计算负载、存储可靠性和通信链路,帮助 AI 集群快速发现并定位训练与推理过程中的异常。

HUATUO 生态全景


支持概览

HUATUO 是由滴滴发起、中国计算机学会(CCF)孵化的操作系统级深度观测开源项目。项目面向云原生通用计算、AI 计算和基础设施等场景,提供内核级监测、异常事件追踪、自动诊断与持续性能分析能力。

HUATUO 硬件故障观测框架

HUATUO 对昇腾 NPU 的支持覆盖设备、内存、链路和通信等关键故障域,有助于缓解异构环境中监控工具链分散、指标口径不一和告警体系割裂等问题,为云原生环境下的 AI 训练与推理提供更统一的观测入口。

华佗支持昇腾场景示意图


业务价值

该功能将分散在 DCMI、hccn_tool 和 PCIe sysfs 中的设备数据转换为统一的 Prometheus 指标,使硬件异常能够被持续监测、关联分析和自动告警。

典型现象 可关联信号 可能的排查方向
单卡算力下降 利用率、AI Core 频率、功耗、温度 过热、降频、负载不均
任务间歇性失败 HBM 单/双比特 ECC、隔离页计数 HBM 可靠性与坏页增长
多卡通信变慢 PCIe 当前 speed/width 与最大能力不一致 链路协商降级、插槽或硬件问题
集合通信超时 HCCN Link、RoCE 错包/重试/乱序、CNP 拥塞、丢包或链路异常
跨机性能抖动 光模块温度、电压、收发功率、LOS、SNR 光模块或光链路质量退化

新增观测能力

在华为昇腾团队的贡献下,HUATUO 已支持通过 DCMI、PCIe 和 HCCN 三类路径采集昇腾 NPU 的关键指标。

HUATUO 昇腾 NPU 采集架构

从实现层面看,DCMI 采集模块会在启动时动态加载 /usr/local/dcmi/libdcmi.so(Linux 默认路径),加载成功后注册以下核心接口,并通过统一的初始化、关闭和重试机制管理采集生命周期:

dcmi_init
dcmi_get_device_health
dcmi_get_device_power_info
dcmi_get_device_temperature
dcmi_get_device_voltage
dcmi_get_device_utilization_rate
dcmi_get_device_frequency
dcmi_get_device_network_health
dcmi_get_device_hbm_info
dcmi_get_device_ecc_info
dcmi_get_device_pcie_info_v2
dcmi_get_device_logic_id
dcmi_get_device_phyid_from_logicid

启用后,可在 HUATUO 中查询以下数据:

采集路径 观测范围 关键指标
DCMI 设备状态与计算负载 健康度、功耗、温度、电压、利用率、时钟频率
DCMI HBM 状态与可靠性 容量、使用量、温度、带宽利用率、ECC 错误、隔离页计数
PCIe 主机侧链路 最大与当前链路速度、最大与当前链路宽度
HCCN 卡间网络与 RoCE 通信 链路状态、收发速率、错包、重试、乱序、CNP 及光模块信息

配置与部署

启用采集

ascend_npu 默认位于全局 BlackList 中。启用前,需要先将其从黑名单中移除,再按需开启对应的采集能力:

# 从全局 BlackList 中移除 "ascend_npu"
BlackList = ["netdev_hw", "metax_gpu"]

[MetricCollector.AscendNPU]
    EnableDCMI = true
    EnablePCIe = true
    EnableHCCN = true

其中,EnableDCMIEnablePCIeEnableHCCN 可独立配置,便于根据设备型号、驱动能力和部署环境按需启用。

容器部署

如果通过容器运行 HUATUO,需要将宿主机上的昇腾驱动和 DCMI 库挂载到容器中。以下命令仅作示例,具体路径请以实际安装环境为准:

docker run --privileged --pid=host --cgroupns=host --network=host \
        -v /sys:/sys \
        -v /proc:/proc \
        -v /run:/run \
        -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
        -v /usr/local/dcmi:/usr/local/dcmi:ro \
        huatuo/huatuo-bamai:latest

结语

HUATUO 对华为昇腾 NPU 的支持,进一步完善了面向 AI 基础设施的可观测体系,也为异构算力环境提供了更统一的故障分析入口。

从事后排查走向全生命周期监测、持续告警与根因定位,是提升 AI 集群稳定性的关键一步。后续,HUATUO 将继续完善指标说明、告警阈值建议和场景化排障流程,帮助更多团队将深度观测能力高效落地到生产环境。


相关链接