AI-GPU ECC报错处理办法

一.问题描述

ECC(Error Checking and Correction)校验和纠错,是一种用于差错检测和修正的算法。

在应用任务运行中,应用任务计算失败,提示“ECC Errors”信息,同时系统日志中也包含类似信息。


GPU ECC计数检查工具及方法:

检查工具:安装Nvidia GPU驱动的linux系统。

检查方法:使用nvidia-smi 命令查询ECC计数,检查Single Bit ECC(SBE)和Double Bit ECC(DBE)的计数;


检查ECC计数的方法有:

# 使用 -i 参数指定GPU id查询某一块GPU的ECC计数
# nvidia-smi -i <target gpu> -q -d PAGE_RETIREMENT
    ...
    Retired pages
    Single Bit ECC             : 2
    Double Bit ECC             : 0
    Pending                    : Yes


#不使用 -i 参数查询所有GPU的ECC计数
# nvidia-smi -q -d PAGE_RETIREMENT

# 执行 nvidia-bug-report.sh 生成GPU日志,在日志中查看GPU ECC计数。

# nvidia-smi -q | grep -i 'bit ecc'


Pending项解释:

No,则说明ECC相关报错地址均已被隔离

Yes,ECC相关报错地址需要在重启或重置GPU后才会被隔离。

隔离后的报错地址不会再影响客户程序运行。

 

检查30内ECC报错计数:

# 备注 -i # 参数,可以指定具体某一块GPU进行查询,如 -i 2; 去掉 -i 参数可查询所有GPU的ECC计数信息。
nvidia-smi
-i # --query-retired-pages=gpu_bus_id,gpu_serial,retired_pages.cause,retired_pages.timestamp
--format=csv



二.处理方法

Tips: 该处理方法仅针对GPU ECC报错生效。

GPU ECC 报错更换标准,对于同一块GPU,满足以下任一条件则进行更换:

        •30天内同一GPU的 Double Bit ECC≥5;
        •质保期内Double Bit ECC≥10;
        •质保期内Double Bit ECC+Single Bit ECC≥60

满足以上任一条件或fieldiag检测结果为FAIL,可以进行GPU更换。


对于不满足GPU更换条件的ECC报错问题,可以重启操作系统或nvidia-smi -r 重置GPU,使该GPU的Pending 项变为No,屏蔽ECC报错地址即可。

不满足GPU 更换条件的ECC报错问题,可按以下解释向客户进行说明:

通过重启操作系统或重置GPU,ECC报错的地址空间会被列入“黑名单”进行屏蔽,被屏蔽的地址空间将不会再次被GPU使用,不会影响客户程序运行。

Pending 项为No,表示所有报错的ECC 地址均已被屏蔽。

三.问题根因

nvidia RMA标准参考:

四.建议与总结

目前所有GPU ECC报修问题均按照本文第二步所描述的处理方法进行解决即可。

五.GPU常见故障及判断、更换标准

常见故障

判断标准

建议更换标准

lspci掉卡

lspci | grep -i nvidia | grep -iE '3d con|vga com'
识别的GPU个数与实际个数不一致

 

nvidia-smi GPU掉卡

nvidia-smi
识别GPU个数与实际个数不一致

 

GPU降带宽

lspci -vvd 10de: | grep -i Lnksta:
实际带宽与额定带宽一致,特殊机型除外

 

ERR!或Unknown Error 报错

nvidia-smi 输出中出现ERR!报错;
nvidia-bug-report日志中出现Unknown Error报错
建议:多为GPU 驱动bug导致,建议优先升级GPU驱动测试

 

GPU infoROM is corrupted

nvidia-smi输出报错或nvidia-bug-report日志中报错WARNING: infoROM is corrupted at gpu 0000:xx.00.0
建议:请厂家修复或厂家提供修复方法,修复失败后换卡

 

GPU nvlink链路出现 inactive

nvlink机型:nvidia-smi nvlink -s
命令出现链路inactive

 

Ampere架构GPU ECC报错


标准一:
命令:nvidia-smi -q -d row_remapper
Remapped Rows
   Correctable Error              : 0
   Uncorrectable Error            : 0
   Pending                         : Yes
   Remapping Failure Occurred    : Yes

标准二:
fieldiag测试fail


标准三:

SRAM Uncorrectable error >4

Pending 状态为Yes,表示需要重启OS屏蔽报错地址
Remapping Failure Occurred 状态为Yes表示报错地址屏蔽失败。
若重启OS后两个字段任一状态仍为Yes,直接更换该GPU。

若重启OS后该两个字段状态均为No,则建议进行fieldiag检测来确认是否需要更换GPU。
说明:GPU有自动屏蔽ECC报错地址的功能,ECC报错建议先重启OS后检查报错是否达到RMA标准,未达到标准时可先使用观察

其他Tesla GPU ECC报错

标准一:
命令:nvidia-smi -q -d page_retirement
Retired Pages
    Single Bit ECC                : 0
    Double Bit ECC                : 0
    Pending Page Blacklist        : No

标准二:
fieldiag测试fail

以下4条满足任一条可直接更换GPU:
30天内同一GPU的 Double Bit ECC≥5;
质保期内Double Bit ECC≥10;
质保期内Double Bit ECC+Single Bit ECC≥60
重启OS后Pending Page Blacklist标志为Yes

满足任意一条可进行GPU更换
未满足ECC计数建议进行ieldiag测试
说明:GPU有自动屏蔽ECC报错地址的功能,ECC报错建议先重启OS后检查报错是否达到RMA标准,未达到标准时可先使用观察

其他ECC报错计数相关

命令:nvidia-smi -q -d ecc
  
 ECC Errors
        Volatile
            SRAM Correctable              : 0
            SRAM Uncorrectable            : 0
            DRAM Correctable              : 0
            DRAM Uncorrectable            : 0

        Aggregate
            SRAM Correctable              : 0
            SRAM Uncorrectable            : 0
            DRAM Correctable              : 0
            DRAM Uncorrectable            : 0

该部分报错计数不作为GPU更换RMA标准。
备注:重启OS后判断未达到RMA标准,但是ECC Errors报错中存在SRAM Uncorrectable报错,可进行fieldiag测试验证


没有找到想要的答案?

上传日志让 AI 帮你诊断,或者在控制台里直接向 AI 提问。