Prhub

#48914 Bump Flashinfer version to 0.6.15

原始 PR 作者 wzhao18 合并时间 2026-07-23 04:32 文件变更 3 提交数 4 评论 9 代码增减 +4 / -4

执行摘要

FlashInfer 版本从 0.6.14 升级到 0.6.15.post1

FlashInfer 0.6.14 在 nvfp4 MoE 场景下可能导致 hang(见 flashinfer-ai/flashinfer#3971),0.6.15 版本通过 flashinfer-ai/flashinfer#3973 修复了该问题。升级是解决该 hang 问题的强需求。

该 PR 是必要的依赖升级,用于修复关键生产环境问题。建议精读了解缺陷影响范围,但不需深入代码细节。

讨论亮点
  1. set_autotune_process_group 不存在问题:Reviewer AmeenP 指出最初尝试在 warmup 路径中使用的 set_autotune_process_group 函数并未包含在 0.6.15 发布版中,会在引擎启动时引发 ImportError。作者立即移除该调用。
  2. 0.6.15 上游 bug:作者发现 flashinfer 0.6.15 自身存在 bug(flashinfer-ai/flashinfer#4043),因此将目标版本从 0.6.15 升级到 0.6.15.post1 补丁版本。
  3. CI 失败分析:多个 CI 失败被确认已在 main 分支上存在,并非此 PR 引入,最终认为无 CI 阻塞问题。

实现拆解

  1. 更新版本常量:修改 docker/versions.jsonFLASHINFER_VERSION 默认值从 0.6.140.6.15.post1
  2. 同步 Dockerfile 构建参数:在 docker/Dockerfile 中更新 ARG FLASHINFER_VERSION0.6.15.post1,确保 Docker 构建时使用正确的版本。
  3. 更新 Python 依赖声明:在 requirements/cuda.txt 中将 flashinfer-pythonflashinfer-cubin 的版本号从 0.6.14 更新为 0.6.15.post1
  4. 移除不当的 API 调用:根据 review 反馈,移除了代码中尝试使用的 set_autotune_process_group,因为该 API 在 0.6.15 中未包含。
文件 模块 状态 重要度
docker/versions.json 构建脚本 modified 3.75
docker/Dockerfile 构建脚本 modified 3.18
requirements/cuda.txt 依赖管理 modified 2.87

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

set_autotune_process_group 不存在于 0.6.15 发布版中 正确性

AmeenP 指出 warmup 路径中使用的 `set_autotune_process_group` 函数在 0.6.15 发布版中未包含,会导致 ImportError。

结论:作者同意移除该函数调用,并已执行。 · 已解决

0.6.15 版本存在上游 bug,需升级到补丁版本 question

作者发现 0.6.15 有 upstream bug (flashinfer#4043),决定等待补丁版本。

结论:最终将版本锁定为 0.6.15.post1。 · 已解决

风险与影响

升级到 0.6.15.post1 的风险较低,因为是补丁版本。主要风险在于:

1) 如果 0.6.15.post1 未包含预期的 nvfp4 hang 修复,则问题可能依然存在;
2) 对于未使用 Docker 或未更新 requirements 的开发环境,可能需要手动确认版本一致性。但鉴于变更仅涉及版本号且 CI 已通过基本正确性测试,回归风险较小。

对用户:nvfp4 MoE 用户将不再遇到 hang 问题。对系统:版本升级无 API 破坏性变更。对团队:维护者需关注后续 flashinfer 版本更新,尤其是 0.6.16 等可能包含更多修复。

依赖升级 上游 bug 已修复

关联 Issue

#3971 SM103 serving hang caused by TRTLLM_GEN_BMM artifact regeneration in #3708 (batched_gemm-dd6d23e-721ae60, 0.6.14): FP4 batched-GEMM clusters stuck in mbarrier phase wait

完整报告

参与讨论