RuntimeError: This GEMM is not supported!` during CUDA graph capture. This does not occur with the older AITER version (v0.10.post2).

在 vLLM 主分支(commit 55d037e2e5cc56c38a1a4a77a15c347fee380c50 )环境下,使用 ROCm 平台(GPU: gfx942/MI300X)部署 DeepSeek-R1 模型,设置环境变量 VLLM_ROCM_USE_AITER=1 和 VLLM_US

RuntimeError: This GEMM is not supported!` during CUDA graph capture. This does not occur with the older AITER version (v0.10.post2).

RuntimeError: This GEMM is not supported! during CUDA graph capture. This does not occur with the older AITER version (v0.10.post2).

快速结论:该报错在 ROCm 平台上运行 DeepSeek-R1 服务时触发,与 AITER (v0.1.12) 的新版本 `gemm_a8w8_blockscale` CK kernel 有关。优先尝试降级 AITER 到 v0.10.post2,或者重新安装 AITER v0.1.12 的最新 tag(某些 tag 可能存在临时修复)。

问题场景

在 vLLM 主分支(commit 55d037e2e5cc56c38a1a4a77a15c347fee380c50)环境下,使用 ROCm 平台(GPU: gfx942/MI300X)部署 DeepSeek-R1 模型,设置环境变量 VLLM_ROCM_USE_AITER=1VLLM_USE_V2_MODEL_RUNNER=1,并指定 --tensor-parallel-size 8。当 CUDA graph 捕获进度到约 78%(40/51)时,工作进程触发 RuntimeError: This GEMM is not supported!

报错原文

RuntimeError: This GEMM is not supported!` during CUDA graph capture. This does not occur with the older AITER version (v0.10.post2).

相应日志中出现多条类似:

[aiter] shape is M:64, N:2112, K:7168, not found tuned config in /tmp/aiter_configs/a8w8_blockscale_tuned_gemm.csv, will use default config!

原因分析

从 Issue 讨论来看,最可能的原因是 AITER v0.1.12gemm_a8w8_blockscale 的反向量化 CK kernel 在 CUDA graph 捕获时对某些 GEMM 形状不支持,而旧版本 AITER v0.10.post2 则工作正常。另一个可能性是环境配置差异(ROCm/CUDA 检测问题),但用户后续反馈显示重新安装 AITER v0.1.12(使用最新 tag)后服务可以正常启动,仅在 eval 时出现零分问题。这表明该报错可能与特定 AITER 版本/构建的兼容性有关,不完全由环境变量冲突引起。

环境排查

  • 系统:Ubuntu 22.04.5 LTS, x86_64
  • PyTorch 版本:2.10.0+git8514f05(ROCm 构建,7.2.53211)
  • ROCm 版本:7.2.53211(HIP runtime),MIOpen 3.5.1
  • GPU:AMD MI300X(gfx942:sramecc+:xnack-),共 8 卡(tensor-parallel-size 8)
  • Python:3.12.13 (GCC 11.4.0)
  • vLLM 构建:主分支 commit 55d037e2e5cc56c38a1a4a77a15c347fee380c50
  • Docker 镜像:rocm/vllm-dev:nightly
  • AITER:有问题的版本 v0.1.12;工作版本 v0.10.post2

解决步骤

  1. 优先方案:降级 AITER 到 v0.10.post2。
    回退 AITER 至旧版本 AITER v0.10.post2(用户明确验证该版本下 CUDA graph 捕获不会触发此错误)。
  2. 备选方案:重新安装 AITER v0.1.12 的最新 tag。
    此 Issue 中,用户重新安装相同版本 v0.1.12(但可能是 tag 更新的构建)后启动成功。注意此项为可能尝试,且后续发现 lm_eval 的 gsm8k 得分接近 0(可能引入其他精度问题)。
  3. 验证 ROCm 环境一致性。
    运行 rocm-smi 确认 GPU 均已识别且正常运行(已在 Issue 中确认),检查 ROCM_PATHHSA_OVERRIDE 等环境变量是否符合预期。注意 Issue 中 collect_env.py 因为环境混杂导致显示 CUDA 信息,这是误导性的,但实际使用 ROCm runtime。

验证方法

重新启动 vLLM 服务(使用相同命令参数),观察 CUDA graph 捕获进度是否顺利通过约 78%(40/51)位置,不再出现 RuntimeError: This GEMM is not supported! 以及 not found tuned config 日志。

参考来源

vllm-project/vllm #39485

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

celebrityanime
celebrityanime
文章: 14816

发表回复

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