1. 概述
本文档旨在针对曦云® 系列GPU软硬件异常提供诊断流程和常规诊断方案,为系统管理员、开发测试人员和现场应用工程师尽快恢复系统提供帮助。
1.1. 使用说明
本文档通过总结多个不同文档及调试GPU系统问题的最佳实践,提供了一个通用诊断流程用于分析GPU服务器上的常见问题,但不保证涵盖全部场景。 技术人员通过使用此流程应能完成调试过程的第一步,并独立尝试恢复系统或收集有用的数据做进一步分析。
2. 问题信息收集
在开始处理GPU异常事件前,尝试记录以下信息:
关于异常事件观察到了什么现象?
异常事件是什么时候发生的(被观察到的)?
是如何观察到的?
这种行为是否在多个系统或组件上观察到?如果是,有多少个系统或组件受到影响,频率如何?
最近系统、驱动程序或应用程序的行为是否有任何变化?
收集以上信息对启动调试过程非常重要,因为这些信息对后续问题分析提供有力的背景支撑。通过记录这些信息可以将其与其他事件相关联,从而更好地了解系统的整体行为和健康状况。
3. GPU异常诊断
图 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诊断工具使用手册》中“诊断模式”章节。
生成默认基准文件,根据实际情况调整测试项以及预期结果
mx-diagease --generate-template执行检查
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