在大规模 GPU 集群应用中,GPU 掉卡是最常见且棘手的问题之一。特别是在集群训练场景下,GPU 掉卡不仅会导致程序崩溃、数据丢失,还会严重影响工作效率,增加运维成本。接下来,我们以英伟达GPU卡为例,深入分析掉卡的原因,并介绍有效的故障排除方法。
一、大规模集群训练中的故障情况
“大规模系统唯一可以确定的事就是发生故障”。
Meta训练Llama 3.1时,选用了由16384块英伟达H100 80GB GPU构成的庞大集群。在长达54天的预训练进程中,状况频发,共遭遇466次任务中断。其中,意外中断多达419次,而GPU问题在这些意外中断中占比高达58.7%。
具体来看,148次(30.1%)中断源于各类GPU故障(涵盖NVLink故障),72次(17.2%)明确由HBM3内存故障引发。与之形成鲜明对比的是,在这54天里,CPU仅出现2次故障。
OpenAI在训练GPT-4.5时,同样深陷困境。其10万卡集群暴露出基础设施潜藏的小概率、深层次故障。由于集群规模从1万卡拓展至10万卡,一些原本偶发的问题,在大规模下演变成了灾难性难题,严重阻碍训练进程。
大规模集群训练中,GPU掉卡等故障频繁出现,究其缘由,一方面是集群规模的急剧扩张,使得硬件故障发生的概率显著增加。众多GPU协同工作,只要其中一个环节出现问题,就可能像多米诺骨牌一样,引发连锁反应,导致整个训练任务中断。另一方面,大规模训练任务对GPU的性能和稳定性提出了严苛要求。长时间高负载运行,GPU极易因过热、供电不足等问题而出现故障。而且,在集群环境中,软件与硬件的兼容性问题也更为复杂,驱动程序、操作系统以及应用程序之间的冲突,都可能成为GPU掉卡的导火索。
二、深入剖析GPU掉卡原因
(一)硬件层面隐患
1. 过热危机
在高负载运行状态下,GPU宛如一个发热大户,会产生大量热量。一旦散热风扇停转、散热片被灰尘严重堵塞,或者硅脂干涸失去导热功效,GPU温度将迅速飙升。当温度突破其所能承受的临界值,为保护硬件,GPU会自动降频,甚至直接停止工作,掉卡问题随即而来。
从实践来看,这也是掉卡最容易导致的原因,它会触发GPU发生各种XID故障,需要重置后恢复,所以对制冷设备运行状态监控至关重要,要时刻监控机房动环温度数据和服务器温度传感数据,例如采用风冷方案的机房,一般机房长期温度在16℃-25℃,需设置合适的服务器告警温度,另外添加机柜挡板,优化空气流动等都是确保制冷效果有效手段。
2.连接故障
GPU与主板PCIe插槽的连接稳固性至关重要。日常使用中的震动、频繁插拔,都可能使GPU与插槽接触不良,阻碍信号传输,进而引发掉卡。同时,GPU外接供电接口若连接松动,无法为GPU提供稳定电力,同样会导致掉卡现象出现。
3****. 供电短板
高性能GPU对电源功率有着较高需求。若电源功率不足,在面对GPU的高负载运行时,无法提供充足电力;或者电源老化、损坏,输出电压不稳定,又或者供电接口与GPU接触不良,这些情况都可能致使GPU因供电问题而掉卡。
4. 硬件损毁
经过长时间的持续使用,GPU核心、显存等关键硬件可能会出现故障。例如,显存颗粒出现问题,会干扰数据的正常读写;核心芯片损坏,则会让GPU彻底丧失工作能力。
(二)软件层面症结
1. 驱动程序瑕疵
驱动程序作为连接操作系统与GPU硬件的桥梁,其重要性不言而喻。若驱动程序过时,无法充分发挥GPU的性能优势,还可能与新的操作系统或应用程序不兼容;若驱动程序损坏,在数据传输过程中就容易出现错误,导致GPU无法正常工作;又或者安装的驱动程序版本与GPU型号不匹配,这些都极有可能引发GPU掉卡问题。
2. 操作系统紊乱
操作系统中的系统文件一旦损坏,可能会破坏系统对GPU的正常识别和调用机制。此外,病毒或恶意软件的入侵,不仅可能篡改系统设置,干扰GPU的工作进程,还可能直接损坏GPU驱动程序相关文件。而且,不同操作系统版本对GPU的支持程度存在差异,若操作系统与GPU驱动之间兼容性欠佳,也容易导致掉卡现象发生。
3. 应用程序冲突
某些应用程序在运行过程中,可能会过度占用GPU资源,致使GPU负载过高。或者应用程序自身存在漏洞,与GPU驱动产生冲突,使得GPU无法按照正常指令工作,最终引发掉卡。比如一些未经充分优化的游戏或专业软件,在运行时就可能出现此类问题。
(三)环境因素干扰
1. 静电威胁
在干燥的环境里,人体和设备极易积累静电。当带有静电的物体接触到GPU等敏感电子元件时,静电瞬间放电,可能会击穿电子元件,对GPU造成不可逆的损坏,从而导致掉卡。
2. 电磁干扰
当GPU周边存在如大功率电机、变压器等强电磁设备时,它们所产生的强大电磁干扰,会严重影响GPU与主板之间的信号传输稳定性。信号在传输过程中受到干扰,出现错误或中断,进而引发GPU掉卡。
三、英伟达官方故障排查指南
(一)初始事件详尽报告
当GPU相关问题浮出水面,第一步便是详尽记录问题细节。具体而言,要清晰描述观察到的异常现象,比如是否出现画面卡顿、程序闪退、系统报错等;准确记录问题出现的时间;详细说明发现问题的途径,是在运行特定软件时,还是系统突然出现异常;仔细确认多个系统或组件是否都受到影响,抑或是仅特定设备出现问题;精确统计问题出现的频率,是偶尔发生,还是频繁出现;同时,不要遗漏近期系统、驱动或应用程序是否有过更新、安装等变动情况。这些细致入微的信息,能助力技术人员快速缩小问题排查范围,精准定位问题根源。
(二)GPU节点分类排查
1. XID错误深挖
XID错误是英伟达驱动报错的关键信息,这些信息被系统内核日志完整记录。通过深入查阅这些错误日志,技术人员能够初步判断问题的大致方向。不同的XID错误代码,犹如不同的故障信号灯,各自对应着独特的原因和解决路径。例如,XID 13可能暗示用户应用程序存在故障,而XID 31则可能与硬件问题紧密相关。
英伟达官方手册:
https://docs.nvidia.com/deploy/xid-errors/
2. 善用诊断工具
英伟达为用户提供了一系列功能强大的实用工具。其中,<font style="color:rgb(62, 62, 62);">nvidia-smi</font>
工具犹如GPU的健康小助手,能够实时展示GPU的基本信息,如GPU型号、温度、使用率、显存使用情况等,还能清晰呈现ECC错误计数,帮助用户快速了解GPU的运行状态 。DCGM(Data Center GPU Manager)则是数据中心GPU管理的得力助手,不仅能全方位监测GPU的各项指标,其诊断功能还能深入检查GPU的健康状况,及时发现潜在问题 。
而<font style="color:rgb(62, 62, 62);">nvidia-bug-report.sh</font>
工具更是排查问题的利器,它如同一个信息收集大师,能够将系统调试日志和各类命令输出完整收集起来,为技术人员深入分析问题提供详实、全面的资料。
英伟达官方手册:
https://docs.nvidia.com/deploy/gpu-debug-guidelines/index.html
(三)常见XID错误应对策略
1. XID 13(图形引擎异常)
一旦遭遇XID 13错误,首先要运行DCGM和现场诊断工具,以此判断问题是否出在硬件层面。若经检测并非硬件问题,那么就需要按照官方指南,对用户应用程序展开细致调试,排查程序内部是否存在与GPU交互的错误逻辑 。反之,如果确定是硬件问题,就需严格按照流程,及时报告GPU问题,以便进一步处理。
2. XID 31(疑似硬件问题)
当出现XID 31错误时,由于其高度疑似硬件问题,此时应迅速联系硬件供应商。专业的硬件供应商具备丰富的经验和专业的检测设备,能够对硬件进行全面、深入的诊断,准确找出硬件故障点,并提供相应的解决方案。
3. XID 48(双位ECC错误)
面对XID 48错误,如果后续又出现XID 63或64错误,为避免影响整个系统的运行,应先排空或隔离相关节点,等待当前任务平稳完成后,再对报错的GPU进行重置操作,尝试恢复其正常工作状态 。若未出现后续错误,则需运行现场诊断工具,全面收集调试信息,为进一步分析问题提供数据支持。
4. XID 74(NVLink错误)
在处理XID 74错误时,需要从错误信息中精准提取十六进制字符串。然后,依据特定位的设置情况,仔细判断问题类型。这可能涉及硬件故障,也可能是连接方面的问题。确定问题类型后,再有针对性地进行硬件检查或连接修复工作。
5. XID 79(GPU从总线上断开)
当出现XID 79错误,表明GPU从总线上意外断开。此时,应首先排空相关节点,避免因GPU异常导致系统出现其他问题。随后,及时报告GPU问题,寻求专业技术支持,对GPU与总线的连接情况进行全面排查和修复。
(四)其他排查手段
1. 运行DCGM诊断DCGM诊断工具就像是一位专业的医生,能够对节点的健康状况和集群的就绪状态进行全面、深入的评估。它提供了短、中、长3种不同时长的测试套件,用户可根据实际需求灵活选择。实际经验来看,主要还是通过长时间的压力测试,选择长套件(3)更全面地检测系统在长时间高负载运行下的稳定性。
在测试过程中,一旦发现问题,用户应立即尝试解决,并仔细检查节点的硬件连接、软件配置等是否正常,确保系统处于最佳运行状态。
官方手册:
https://docs.nvidia.com/datacenter/dcgm/latest/user-guide/dcgm-diagnostics.html
2. 开展网络测试
网络性能对GPU在集群环境中的运行起着关键作用。借助NCCL性能测试工具,能够精准检测网络性能和延迟情况。在众多测试项目中,all_reduce_perf测试尤为重要,通过对不同节点间该测试结果的对比分析,能够快速找出网络性能较慢的节点对 。一旦发现性能瓶颈,就需要重新对这些节点进行测试,深入排查网络连接、配置等方面的问题,确保网络畅通无阻,为GPU提供稳定、高效的数据传输通道。
3. 调试应用程序
当应用程序不幸崩溃,这可能是由于程序与GPU之间的交互出现了严重问题。此时,借助调试器(如CUDA-GDB),技术人员能够深入程序内部,收集关键数据,精准定位问题所在。若问题聚焦于性能方面,那么Nsight Systems或Nsight Compute等性能分析器就能大显身手。它们如同性能侦探,能够深入剖析程序在GPU上的运行情况,找出性能瓶颈的具体位置,为优化应用程序性能提供有力依据。
四、预防掉卡的最佳实践
(一)全面收集节点指标
为了提前预防GPU掉卡等故障,全面收集节点指标是一项不可或缺的重要工作。通过DCGM Prometheus插件或IPMI工具,能够实时、精准地收集系统的各项关键指标,如电源功率、温度、风扇转速等 。这些数据就像是系统运行状况的晴雨表,通过对它们的持续监测和分析,管理员能够及时洞察节点是否存在异常。
例如,当发现GPU温度持续升高,或者电源功率出现异常波动时,就可以提前采取措施,如清理散热风扇、检查电源供应等,避免问题进一步恶化,确保系统稳定运行 。同时,合理设置警报机制也至关重要。根据系统的正常运行参数范围,设定相应的警报阈值,一旦指标超出阈值,系统立即发出警报,提醒管理员及时处理,有效防范可能影响系统和应用性能的潜在风险。
(二)提前检查系统
在作业开始前或结束后,对系统进行全面、细致的检查是保障GPU稳定运行的重要环节。通过初始化容器、运行特定脚本等方式,能够对系统进行多维度检查 。
首先,要确认GPU驱动以及相关软件是否正确加载,只有驱动和软件正常工作,GPU才能与系统顺畅交互 。
其次,仔细检查GPU特性设置是否合理,确保GPU在最佳参数配置下运行。对于NVSwitch系统,还需重点检查相关服务和拓扑是否正常,保障数据传输的高效性和稳定性 。
此外,网络连接的稳定性和文件系统挂载的正确性也不容忽视。不稳定的网络连接可能导致数据传输中断,而文件系统挂载错误则可能影响数据的读写操作,进而影响GPU的正常工作。
最后,通过运行一些CUDA工作负载,能够对节点设置的正确性进行实际测试,提前发现并解决潜在问题,为GPU的稳定运行创造良好条件。
GPU掉卡问题虽然复杂棘手,但只要我们深入了解其背后的原因,并严格按照科学、系统的故障排查方法进行处理,同时做好预防工作,就能有效降低GPU掉卡的发生率,保障GPU在大规模集群训练及其他应用场景中稳定、高效地运行。
五、智算中心,不仅是GPU掉卡
相较于裸金属服务器,高端智算中心依托智能软件调度系统,构建起动态任务分配机制。当出现 GPU 掉卡故障时,系统可在毫秒级时间内触发故障检测与迁移策略,将受影响的计算任务迅速、精准地调度至正常 GPU 节点。通过这种智能化的资源动态重组,最大限度降低了硬件故障对计算任务连续性和时效性的影响,保障算力服务的高可用性与稳定性 ,有效避免因单点故障导致的任务中断或性能大幅下降。
但对智算中心来说,GPU 掉卡只是其中一个问题,面临的技术挑战远不止于此。高端智算中心要求厂商必须具备强大的技术研发实力和运营经验,才能保障智算中心稳定高效运行,具体包括:
1. 硬件架构与选型
采用集成 GPU、FPGA、ASIC 等多元加速芯片的高性能 AI 服务器,满足复杂计算需求;选择扩展性强、技术兼容性高的设备,适配 DeepSeek 等前沿技术,应对 AI 硬件快速迭代。
2. 云原生系统平台
搭建适配 主流 AI 框架的云原生系统平台,运用虚拟化、容器化技术构建资源池,实现动态分配与多租户隔离,保障资源利用效率与数据安全;构建智能资源调度系统,基于实时负载监测动态分配计算、存储、网络资源,包括上面提到的在GPU掉卡时,秒级进行屏蔽和任务切换;通过负载均衡算法避免资源拥塞或闲置,提升多任务并发处理效率。
3. 数据传输与高性能存储
构建高带宽、低延迟网络架构,采用软件定义网络(SDN)与远程直接内存访问(RDMA)技术;部署全闪存阵列、分布式存储集群等高 I/O 存储设备,使用并行文件系统与对象存储实现数据高效共享;建立冷热数据分级存储策略,结合冗余备份保障存储性能、成本与数据安全。
4. 运维安全保障
部署智能硬件监测体系,利用 AI 预测模型预警设备故障,建立快速故障修复机制;构建涵盖物理、网络、数据层面的多层安全防护体系,制定容灾备份与灾难恢复方案,确保智算中心稳定运行。
九章云极具有多年AI基础设施深耕的经验,深度布局全国智算中心建设和运营,自主研发的Alaya NeW智算云平台顺利通过中国信通院“大模型训练平台”标准评估,其创新的弹性容器集群VKS、Serverless计算架构、Aladdin大模型开发插件等大模型核心能力,成为目前唯一在算力、推理、训练、数据四大核心领域通过全栈评估的企业。公司携手上下游生态伙伴在北京、山东、安徽和广东等地成功建设运营的智算中心,凭借强大的技术能力和高效的运营能力,赋能千行百业,推动算力成为企业数智化转型的“水电煤”级基础设施。
欢迎大家交流。