MiniMax H3 + comfy kitchen attention: “sage_sdpa: tensor strides exceed int32 range” above ~116k tokens (q/k/v passed as strided views of th

MiniMax H3 在 ComfyUI 使用 “comfy kitchen attention” 后端跑长序列时,attention 序列超过约 116.5k tokens 会触发 sage_sdpa: tensor strides exceed int32 range ;优先排查 ComfyUI

快速结论:MiniMax H3 在 ComfyUI 使用 “comfy kitchen attention” 后端跑长序列时,attention 序列超过约 116.5k tokens 会触发 sage_sdpa: tensor strides exceed int32 range;优先排查 ComfyUI 是否为包含修复的 master 版本,以及长序列是否仍走 kitchen 后端。

适用环境:ComfyUI 0.37.4(Windows)、comfy-kitchen 0.2.35、PyTorch 2.12.0+cu130、RTX PRO 6000 Blackwell(sm120);触发模型为 MiniMax H3 ref2va int8 checkpoint。

最快修复方案:更新到最新 master(Issue 评论称 “Should be fixed on latest master”)。

注意事项:该修复仅由 Issue 评论确认,未提供具体 commit 或版本号;若仍使用旧版 ComfyUI 0.37.4 或旧版 comfy-kitchen,报错可能依旧存在。更新前建议确认长序列测试路径与原始复现一致。

问题场景

在 ComfyUI 中运行 MiniMax H3 ref2va(int8 checkpoint)的 2-pass 工作流,模型链启用 ModelAttentionBackend 为 “comfy kitchen attention”,并可选叠加 Model Sparse Attention(sol-attn)。当 attention 序列超过约 116.5k tokens 时,会在 dense 后端或非稀疏步骤触发崩溃;例如 pass 1 约 108k tokens 可完成,pass 2 约 240k tokens 在稀疏窗口外回退到 dense 后端时失败。

报错原文

OverflowError: sage_sdpa: tensor strides exceed int32 range; reduce batch/seq/head dimensions

[ERROR] !!! Exception during processing !!! sage_sdpa: tensor strides exceed int32 range; reduce batch/seq/head dimensions

原因分析

Issue 指出,在 comfy/ldm/minimax/model.py 的 Attention.forward 中,q/k/v 来自 qkv_proj(x).split(...),是 fused qkv buffer 的 strided views。每 token 的 stride 为 3 × 48 × 128 = 18,432 elements,而非 contiguous 情况下的 6,144,因此 kitchen int8 kernel 的 int32 stride 检查在 2^31 / 18,432 ≈ 116.5k tokens 处触发;若 q/k/v contiguous,同一检查约可支持 349k tokens。可能原因是长序列 attention 路径未将 q/k/v 转为 contiguous 或等效布局,导致 stride 超出 int32 范围。

环境排查

  • 确认 ComfyUI 版本:Issue 复现为 0.37.4,建议确认是否已更新到最新 master。
  • 确认 comfy-kitchen 版本:Issue 复现为 0.2.35。
  • 确认 PyTorch 版本与 CUDA:Issue 复现为 PyTorch 2.12.0+cu130。
  • 确认显卡与架构:RTX PRO 6000 Blackwell(sm120),Windows。
  • 确认是否启用自定义节点:Issue 作者已勾选“禁用自定义节点后问题仍存在”,但日志中出现 comfyui-lora-manager 的 hook,建议排查时保持自定义节点干净。
  • 确认 ModelAttentionBackend 与 Sparse Attention 节点配置:comfy kitchen attention,必要时对比 PyTorch attention 后端。
  • 确认序列长度是否超过约 116.5k tokens,尤其是 1080p 级别 2-pass 工作流的 pass 2。

解决步骤

  1. 将 ComfyUI 更新到最新 master 版本;Issue 评论明确表示该问题 “Should be fixed on latest master”。
  2. 同步确认 comfy-kitchen 依赖随之更新,避免旧版 kernel 仍触发 int32 stride 检查。
  3. 若暂时无法升级,可优先尝试改用 PyTorch attention 后端,或将长序列工作流降到约 116.5k tokens 以下,或减少分辨率/帧数以降低总序列长度。
  4. 排查时先禁用自定义节点,再按原复现路径跑 pass 2 或超过 116.5k tokens 的 H3 测试,避免其他节点 hook 干扰定位。
  5. 保留原始报错日志;如果更新后仍失败,重点确认是否仍走 attention_comfy_kitchen_int8 → comfy_kitchen.int8_attention。

验证方法

在最新 master 上按原始复现工作流跑 pass 2(约 240k tokens 或超过 116.5k tokens 的 dense 步骤),确认不再出现 sage_sdpa: tensor strides exceed int32 range,且 kitchen attention 后端能完成采样。若对比 PyTorch attention 后端同样的长序列可正常完成,可进一步确认 kitchen 后端修复是否生效。

参考来源

Comfy-Org/ComfyUI #16617

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 26228

发表回复

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