Prhub

#42342 [Bug] Fix DeepSeek V4 `AttributeError: module 'cutlass.cute.nvgpu' has no attribute 'LoadCacheMode'`

原始 PR 作者 yewentao256 合并时间 2026-05-14 17:00 文件变更 1 提交数 8 评论 4 代码增减 +1 / -1

执行摘要

修复 DeepSeek V4 因 cutlass 版本 API 变动导致的崩溃

PR body 中给出的运行错误显示 AttributeError: module 'cutlass.cute.nvgpu' has no attribute 'LoadCacheMode',该错误发生在 dequant_gather_k_cutedsl.py 第 106 行调用 cpasync.CopyG2SOp(cute.nvgpu.LoadCacheMode.GLOBAL) 时,原因是新版本 cutlass DSL 已弃用 nvgpu.LoadCacheMode

可快速合并,无必要精读。注意跟进 @ZJY0516 在 #42438 中的改动,确保版本管理一致性。

讨论亮点

原作者 @gau-nernst 指出他开发时使用 nvidia-cutlass-dsl==4.5.0,当时 cpasync.LoadCacheMode 已弃用,建议固定版本。@mgoin 担心未来 breaking change,提议设置上限或精确固定。最终采用精确固定到 4.5.0。@ZJY0516 告知已在另一个 PR #42438 中将依赖改为 nvidia-cutlass-dsl[cu13]

实现拆解

  1. 定位根因:CuteDSL 内核 dequant_gather_k_cutedsl.py 使用了已在 nvidia-cutlass-dsl>=4.5.0 中移除的 cutlass.cute.nvgpu.LoadCacheMode
  2. 修改依赖:在 requirements/cuda.txt 中将版本约束从 >=4.4.2 收紧为 ==4.5.0,确保始终使用兼容的 API。
  3. 仅改一行:变更仅涉及 requirements/cuda.txt 中的版本号。
文件 模块 状态 重要度
requirements/cuda.txt 依赖配置 modified 2.51

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

评论区精华

依赖版本是否应固定或设上限 设计

原作者指出应固定版本以防 future breaking change,其他人提议设上限,最终采用精确固定。

结论:固定到 4.5.0 版本,确保与当前 CuteDSL 内核兼容。 · 已解决

风险与影响

风险低。仅修改依赖版本,不涉及代码逻辑。潜在风险是固定到 4.5.0 可能导致未来因依赖过旧而错过安全或性能更新,但可通过后续版本升级 PR 缓解。

影响范围:所有使用 DeepSeek V4 且安装了 nvidia-cutlass-dsl>=4.5.0 的用户。修复后该模型可正常启动。团队需注意后续依赖管理的稳定性。

依赖版本固定可能阻碍未来更新

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论