1. 概述

本文档旨在针对曦云® 系列GPU软硬件异常提供诊断流程和常规诊断方案,为系统管理员、开发测试人员和现场应用工程师尽快恢复系统提供帮助。

1.1. 使用说明

本文档通过总结多个不同文档及调试GPU系统问题的最佳实践,提供了一个通用诊断流程用于分析GPU服务器上的常见问题,但不保证涵盖全部场景。 技术人员通过使用此流程应能完成调试过程的第一步,并独立尝试恢复系统或收集有用的数据做进一步分析。

2. 问题信息收集

在开始处理GPU异常事件前,尝试记录以下信息:

  1. 关于异常事件观察到了什么现象?

  2. 异常事件是什么时候发生的(被观察到的)?

  3. 是如何观察到的?

  4. 这种行为是否在多个系统或组件上观察到?如果是,有多少个系统或组件受到影响,频率如何?

  5. 最近系统、驱动程序或应用程序的行为是否有任何变化?

收集以上信息对启动调试过程非常重要,因为这些信息对后续问题分析提供有力的背景支撑。通过记录这些信息可以将其与其他事件相关联,从而更好地了解系统的整体行为和健康状况。

3. GPU异常诊断

_images/DiagFlow.png

图 3.1 GPU异常诊断流程

3.1. 提交GPU问题

在收集数据提交GPU问题时,应该包含以下内容:

  • 基本系统配置,如服务器型号,操作系统和驱动程序信息

  • 对问题的清晰描述,包括任何描述问题的关键日志

  • 已采取的调试步骤

  • 上述关键信息的日志完整列表

  • mx-report收集的环境信息以及日志文件(参见《曦云系列通用计算GPU 用户指南》中“mx-report工具”章节)

  • mx-diagease诊断日志

  • 如果问题与用户应用程序相关,请提供有关应用程序的所有详细信息(如代码、框架、版本号等)以及源代码链接(如果可能的话)。

  • 联系沐曦技术支持工程师提交问题单

3.2. EID问题诊断

EID错误日志查看和对应的修复建议,参见《曦云系列通用计算GPU EID手册》。

3.3. 应用程序问题诊断

参见《曦云系列通用计算GPU MXMACA异构程序异常诊断手册》(联系沐曦技术支持工程师获取)。

  • 发现SDK错误日志处理,参见“GPU功能故障排查”及“CPU功能异常排查”章节。

  • 程序性能问题处理,参见“异构程序性能诊断”章节。

3.4. 执行mx-diagease诊断

mx-diagease的详细使用说明,参见《曦云系列通用计算GPU mx-diagease诊断工具使用手册》中“诊断模式”章节。

  1. 生成默认基准文件,根据实际情况调整测试项以及预期结果

    mx-diagease --generate-template
    
  2. 执行检查

    mx-diagease -c diag-config.json
    

调查程序性能问题时,可以在程序运行过程中执行mx-diagease的监控命令,来诊断Firmware的功耗管理是否有问题。详情参见《曦云系列通用计算GPU mx-diagease诊断工具使用手册》中“监控模式”章节。

mx-diagease -m -t <time>

当mx-diagease发现一个问题时,可能会提供修复建议,用户应首先尝试解决该问题。

3.5. mx-report收集日志

3.5.1. 收集已有日志

mx-report收集当前环境上所有日志,会在当前路径下生成 HOSTNAME_TIMESTAMP 格式的文件夹:

sudo mx-report

3.5.2. 持续收集日志

若仅需收集接下来一段时间内的日志:

sudo mx-report -c

可使用 Ctrl+C 结束收集。

3.5.3. 打包日志

打包日志成 .zip:

sudo mx-report -p $LOG_PATH