Vulkan: DeviceLost crash on AMD GCN 1.0 GPUs (Tahiti/HD 7900/R9 280X) with kernel 6.19

用户在 llama.cpp 的 llama-server 中,使用两块 AMD FirePro D700(Tahiti XT,与 HD 7970/R9 280X 同型)显卡,在 Arch Linux 系统中启用全量 GPU 卸载( -ngl 99 )处理 500+ token 上下文时触发崩溃。系统

Vulkan: DeviceLost crash on AMD GCN 1.0 GPUs (Tahiti/HD 7900/R9 280X) with kernel 6.19

Vulkan: DeviceLost crash on AMD GCN 1.0 GPUs (Tahiti/HD 7900/R9 280X) with kernel 6.19

快速结论:该报错通常发生在 AMD GCN 1.0 架构显卡(Tahiti/HD 7900/R9 280X/FirePro D700)全量 GPU 卸载(-ngl 99)运行较长上下文时,优先尝试添加 RADV_DEBUG=novm,syncshaders,zerovram 环境变量作为工作区。

问题场景

用户在 llama.cpp 的 llama-server 中,使用两块 AMD FirePro D700(Tahiti XT,与 HD 7970/R9 280X 同型)显卡,在 Arch Linux 系统中启用全量 GPU 卸载(-ngl 99)处理 500+ token 上下文时触发崩溃。系统使用内核 6.19.1、Mesa 25.1.0、RADV 驱动(amdgpu 内核驱动)。

报错原文

radv/amdgpu: The CS has been cancelled because the context is lost. This context is innocent.
terminate called after throwing an instance of 'vk::DeviceLostError'
  what():  vk::Queue::submit: ErrorDeviceLost

原因分析

可能原因是 AMD GCN 1.0 架构(Tahiti)在 Mesa/RADV 驱动中的计算着色器调度存在竞态条件(race condition),当上下文长度超过约 500 token 时,全量 GPU 卸载场景下的 ggml_backend_tensor_copy 操作导致设备丢失。Mesa/RADV 驱动层面的错误(而非 llama.cpp 本身)被认为是根本原因。开启 syncshaders 标志可强制在每次绘制/调度后同步着色器,从而避免该竞态条件。

环境排查

  • 确认 GPU 架构是否为 AMD GCN 1.0(Tahiti),如 Radeon HD 7900 系列、R9 280X、FirePro D700
  • 确认内核版本(例如 6.19.1)
  • 确认 Mesa 版本(例如 25.1.0 或更高)
  • 确认使用 RADV 驱动(amdgpu 内核驱动 + amdgpu.si_support=1 内核参数)
  • 确认 llama.cpp 编译时启用了 Vulkan 后端

解决步骤

  1. 优先尝试:在启动命令中加入 RADV 调试标志:
    RADV_DEBUG=novm,syncshaders,zerovram ./llama-server -m model.gguf -ngl 99 --host 0.0.0.0 --port 8080
  2. 如果上述方案无效或为了追求稳定性,可降低 GPU 层数作为备选工作区:
    RADV_DEBUG=novm ./llama-server -m model.gguf -ngl 20 -c 8192 --host 0.0.0.0 --port 8080

验证方法

使用 1000+ token 的上下文发送请求,观察是否稳定运行且无 vk::DeviceLostError 报错。使用 RADV_DEBUG=novm,syncshaders,zerovram 配置时,全量卸载的速度约为 ~11 t/s(对比无标志全量卸载的 ~12 t/s,损失微小)。

参考来源

ggml-org/llama.cpp #19610

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 15099

发表回复

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