[Bug][Regression] #50879 causes wrongful `hipMalloc` to be loaded on ROCm due to `tilelang` load, causing tests and allocation failures

该报错发生在 vLLM 于 ROCm 环境下运行时,由于 PR #50879 引入的回归导致 `tilelang` 被加载,进而在 ROCm 平台上错误地加载了 `hipMalloc`,引发测试失败和显存分配失败。优先排查是否可在该环境下禁用或绕过 `tilelang` 的加载路径。

快速结论:该报错发生在 vLLM 于 ROCm 环境下运行时,由于 PR #50879 引入的回归导致 `tilelang` 被加载,进而在 ROCm 平台上错误地加载了 `hipMalloc`,引发测试失败和显存分配失败。优先排查是否可在该环境下禁用或绕过 `tilelang` 的加载路径。

适用环境:Ubuntu 22.04.5 LTS、Python 3.12.13、PyTorch 2.11.0+gitd0c8b1f(ROCm 7.2.53211 构建)、AMD EPYC 9554 CPU、AMD GPU(gfx942:sramecc+:xnack-)、HIP runtime 7.2.53211。该问题标记为 ROCm 相关且与量化(quantization)功能关联。

最快修复方案:暂无确认的一步修复方案。Issue 中尚未给出经过验证的规避命令或配置,需等待上游修复或进一步排查。

注意事项:当前方案仅为推测,未经验证。绕过 `tilelang` 加载可能影响量化功能或其他依赖路径,修改前建议确认业务场景不受影响。

问题场景

用户在使用 vLLM 的 ROCm 版本时,运行测试或执行推理分配显存的过程中触发该问题。Issue 标题明确指出这是 PR #50879 引入的回归:`tilelang` 的加载导致在 ROCm 环境下错误地加载 `hipMalloc`,进而造成测试失败和分配失败。该问题与量化(quantization)功能相关,并在 ROCm 后端复现。

报错原文

[Bug][Regression] #50879 causes wrongful `hipMalloc` to be loaded on ROCm due to `tilelang` load, causing tests and allocation failures

原因分析

可能原因:PR #50879 的改动在加载路径上引入了 `tilelang` 模块的加载逻辑。在 ROCm 环境下,这一加载行为触发了对 `hipMalloc` 的错误引用或初始化,导致显存分配路径被破坏。由于该问题被标记为回归(regression),说明在 #50879 合并之前该加载行为并不存在,当前行为属于非预期变更。具体是 `tilelang` 在导入时对 HIP 运行时的符号解析方式不当,还是其内部初始化顺序与 ROCm 后端冲突,Issue 讨论链中尚未给出确认结论。

环境排查

  • 操作系统:Ubuntu 22.04.5 LTS(x86_64)
  • Python 版本:3.12.13
  • PyTorch 版本:2.11.0+gitd0c8b1f(由 ROCm 7.2.53211 构建,非 CUDA 构建)
  • GPU 架构:AMD gfx942(sramecc+:xnack-)
  • HIP runtime 版本:7.2.53211
  • MIOpen runtime 版本:3.5.1
  • CMake 版本:4.4.0
  • GCC 版本:11.4.0
  • Clang 版本:22.0.0git(ROCm 7.2.3 配套版本)
  • 确认 vLLM 安装方式(Docker 镜像、pip 安装或源码编译)以及启动命令(如 vllm serve ... 或 Python 脚本)

解决步骤

  1. 优先确认版本基线:检查当前 vLLM 是否包含 PR #50879 的改动。若可回退至该 PR 合并前的版本,测试问题是否消失。
  2. 复现最小场景:按 Issue 要求提供最小可复现脚本或代码片段,确认并非偶发或环境干扰导致的孤立问题。
  3. 排查 `tilelang` 加载路径:检查 vLLM 导入时就近的日志或跟踪点,确认 `tilelang` 是否在初始化阶段被主动加载,并观察其导入时是否对 HIP 符号产生冲突。
  4. 尝试禁用相关量化路径:由于该问题标记为 quantization 相关,可优先尝试关闭或绕过量化的自动选择/加载逻辑,观察是否仍然触发 `hipMalloc` 错误。
  5. 补充缺失环境信息:Issue 评论区要求补充“如何安装 vLLM”以及“启动命令”。若你正遭遇此问题,请补齐这两项信息,便于上游维护者定位。

验证方法

在相同的 ROCm 环境下,执行触发该问题的测试或推理任务。若不再出现与 hipMalloc 相关的加载错误或显存分配失败,且测试用例全部通过,即可确认问题已解决或已被成功绕过。若修改了加载或量化路径,还需回归验证其他量化功能是否保持正常。

参考来源

vllm-project/vllm #51151

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18287

发表回复

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