[Bug]: pytorch rocm 6.0 with 7600xt = HSA_STATUS_ERROR_INVALID_ISA

用户启动 Stable Diffusion WebUI 1.8.0,使用 PyTorch 2.1.2 / 2.3.0 / 2.4.0 搭配 ROCm 6.0,并设置 HSA_OVERRIDE_GFX_VERSION=11.0.0 。运行 webui.sh 时触发该错误。同一套硬件在 PyTorch

[Bug]: pytorch rocm 6.0 with 7600xt = HSA_STATUS_ERROR_INVALID_ISA

[Bug]: pytorch rocm 6.0 with 7600xt = HSA_STATUS_ERROR_INVALID_ISA

快速结论:该报错通常发生在 AMD Radeon RX 7600 XT / 7600 或 Radeon 780M 等 RDNA3 架构 GPU 搭配 PyTorch ROCm 6.0 和 Stable Diffusion WebUI 1.8.0 时。优先排查是否使用了 ROCm 6.0 及 PyTorch 2.3.0/2.4.0 组合,并确认环境变量 HSA_OVERRIDE_GFX_VERSION=11.0.0 已正确设置。

问题场景

用户启动 Stable Diffusion WebUI 1.8.0,使用 PyTorch 2.1.2 / 2.3.0 / 2.4.0 搭配 ROCm 6.0,并设置 HSA_OVERRIDE_GFX_VERSION=11.0.0。运行 webui.sh 时触发该错误。同一套硬件在 PyTorch 2.2.0 + ROCm 5.7 下正常工作。其他用户报告在 Fedora 40 上使用 PyTorch 2.3.0 + ROCm 6.0 以及 Radeon 780M 时也遇到同样问题,而 Fedora 39 + PyTorch 2.2.1 + ROCm 5.7 正常。

报错原文

rocdevice.cpp            :2728: 0225198107 us: [pid:4807  tid:0x7d4fc8fff640] Callback: Queue 0x7d4de2e00000 aborting with error : HSA_STATUS_ERROR_INVALID_ISA: The instruction set architecture is invalid. code: 0x100f

原因分析

可能原因:
– ROCm 6.0 对部分 RDNA3 显卡(如 RX 7600 XT、RX 7600、Radeon 780M)存在 ISA 兼容性问题,导致半精度(float16)相关操作失败。
– 尽管设置了 HSA_OVERRIDE_GFX_VERSION=11.0.0,但 ROCm 6.0 的运行时可能未能正确匹配 GPU 的 ISA(指令集架构)。
– 社区测试确认:同一配置使用 ROCm 5.7 及对应 PyTorch 版本时完全正常,表明这是一个 ROCm 6.0 的回归问题。

环境排查

  • GPU 型号:AMD Radeon RX 7600 XT / 7600、Radeon 780M
  • ROCm 版本:6.0(排查)
  • PyTorch 版本:2.1.2 / 2.3.0 / 2.4.0(排查)
  • Stable Diffusion WebUI 版本:1.8.0
  • 操作系统:Linux(如 Fedora 40)
  • 环境变量:HSA_OVERRIDE_GFX_VERSION=11.0.0(确认是否设置)

解决步骤

  1. 降级到 ROCm 5.7: 社区确认这是解决方案。安装 ROCm 5.7 并重新安装对应的 PyTorch 版本。
  2. 修改 webui-user.sh 编辑 stable-diffusion-webui/webui-user.sh,添加以下内容以强制使用 ROCm 5.7 的 PyTorch 并设置 HSA_OVERRIDE_GFX_VERSION=11.0.0
    export COMMANDLINE_ARGS="--listen"
    python_cmd="python3.10"
    export TORCH_COMMAND="pip install torch torchvision --index-url https://download.pytorch.org/whl/rocm5.7"
    export HSA_OVERRIDE_GFX_VERSION=11.0.0
  3. 注意避免修改 webui.sh 直接在 webui-user.sh 中设置 TORCH_COMMAND 即可,无需编辑核心启动脚本。
  4. (可尝试)强制使用 float32 精度: 通过添加 --no-half 参数避免半精度问题。注意 float32 将占用更多显存并降低性能,甚至导致显存不足(HIP OOM),仅作为临时诊断手段:
    export COMMANDLINE_ARGS="--no-half"

    将其加入 webui-user.shCOMMANDLINE_ARGS 中。

验证方法

启动 Stable Diffusion WebUI,观察是否不再出现 HSA_STATUS_ERROR_INVALID_ISA 错误。若能正常加载模型并执行推理,且输出 rocminfo 显示正确的 GPU 节点(如 gfx1102),则问题已解决。

参考来源

AUTOMATIC1111/stable-diffusion-webui #15434

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 8950

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注