如何排查和管理 AMD 系统上的 GPU 重置问题

  • Windows 中的自动驱动程序恢复与 Linux 和 ROCm 环境中的重置管理之间存在根本差异。
  • XGMI 架构的关键影响以及使用容器或虚拟机隔离工作负载的重要性。
  • 图形内核崩溃后,无需物理重启即可恢复系统功能的技术方法。

一款现代高端显卡,配备三个风扇和金属散热片,风格专业而中性。

你可能遇到过这种情况:你正沉浸在游戏或渲染一些高负载任务中,突然屏幕冻结,但声音仍在继续。这种情况令人沮丧,看起来像是电脑崩溃了,但实际上是显卡驱动程序出现故障,系统正在尝试重启设备,但有时会失败。

了解 AMD GPU 的恢复过程至关重要,这样可以避免每次出现错误时都必须强制关机。根据您使用的是 Windows、Linux 发行版还是带有 ROCm 的高级计算环境,解决方案从简单的键盘快捷键到服务器上复杂的硬件隔离配置不等。

特写镜头展示了堆放在木质表面上的 CPU 处理器,图中可见集成的散热片和绿色芯片基板,非常适合用来说明 CPU 板和处理器的概念。
相关文章:
CPU、主板和显卡完整指南

Windows 系统中 GPU 重置:快速解决方案

电脑键盘特写,Windows 键高亮显示,非常适合用来演示键盘快捷键 Win + Ctrl + Shift + B。

在运行 Windows 10 和 11 的现代系统中,有一个名为 TDR(超时检测和恢复)的功能,它会在检测到驱动程序无响应时尝试自动重启驱动程序。但是,当此操作失败时,我们就会遇到问题。 非常有用的秘密快捷方式 同时按下 Win + Ctrl + Shift + B执行此操作时,屏幕会短暂闪烁,因为系统正在刷新图形驱动程序。

如果键盘无响应或问题仍然存在,您可以尝试打开设备管理器,找到“显示适配器”部分,右键单击 GPU,禁用该设备,然后再重新启用它。这将强制手动重新安装驱动程序。在更严重的情况下,例如驱动程序已损坏,最好在安全模式下使用 DDU(显示驱动程序卸载程序)等工具进行全新安装,然后再从 AMD 网站下载最新驱动程序版本并配置电脑上的硬件组件。

配置硬件组件
相关文章:
硬件组件配置及电脑优化完整指南

Linux 和高性能环境下的恢复

现代数据中心中的服务器机架,代表高性能计算基础设施和 GPU 集群。

在 Linux 系统中,情况变得更加复杂。当…… amdgpu_job_timedout内核尝试重置 IP 块。有时重置会成功。 软复位这样做最理想,因为它不会擦除显存,但如果失败,系统会采取其他措施。 完全重置问题是,即使日志显示重置成功,桌面环境(如带有 X11 的 KDE)也可能冻结,导致用户无法使用鼠标或键盘,并强制进行物理重启。

对于使用 AMD Instinct 和 XGMI 连接的用户来说,情况更为复杂。单个 GPU 的重置可能会影响共享同一“集群”的其他 GPU。为防止故障导致整个系统崩溃,建议采取以下措施。 使用容器、cgroups 或虚拟机直通进行隔离仅仅使用变量是不够的,例如 ROCR_VISIBLE_DEVICES因为这些是用户过滤器,不会在内核级别创建真正的屏障。

Linux 游戏畅玩指南
相关文章:
Linux 游戏畅玩指南

先进的隔离和康复策略

主板的技术细节,包括电容器和电子电路,展示了硬件级复位过程。

为了最大限度地提高服务器可用性,最佳实践是为每个 XGMI 集群分配一个工作负载。如果使用虚拟化,通过 VFIO 实现 PCIe 直通是最可靠的选择,因为虚拟机管理自己的内核和 ROCm 协议栈,从而限制了崩溃的“突发半径”。一些用户,例如在 Unraid 等环境中,甚至会在关闭虚拟机之前使用virsh 脚本来解耦 PCI 设备,以防止主机发生内核崩溃。

当计算应用程序重置时,它不能简单地继续运行。它必须关闭所有处理程序,重新打开 /dev/kfd 设备,并重新分配内存和内核。为了加快这一过程,一些开发者将 GPU 状态保存到主机内存中,从而实现更快的重新初始化。

对传统硬件(GCN)的改进

并非全是新软件;Valve 团队也在努力改进使用旧版 GCN 架构的系统。他们正在为GFX8 IP 模块(例如 Polaris 或 Fiji)启用软复位支持,这将允许仅重置图形部分而不会丢失显存,从而显著改善旧硬件上的用户体验。

制定清晰的行动计划,从 Windows 键盘快捷键到 Instinct 服务器上的集群分段,有助于减少停机时间。关键在于识别故障是暂时的驱动程序故障,还是由超频或过热引起的稳定性问题,然后根据错误的严重程度应用相应的恢复策略,以在无需频繁重启计算机的情况下维持系统稳定性。

PC硬件分析
相关文章:
PC硬件分析完整指南:关键工具和测试

在 Google 中将其添加为首选来源