
我这台 NAS 的显卡是「外挂」的——主机是绿联 DXP6800 PRO,显卡通过雷电口外接一块 RTX 4070 Ti SUPER。这么用日常没毛病,但一跑视频生成 workflow 就翻车:每次都卡在同一个报错上。折腾了一晚上,最后发现修复方法简单到让人想拍大腿。整个过程记录如下,希望能帮到同样踩坑的人。
一、先交代环境
主机:绿联 DXP6800 PRO NAS(UGOS 系统);
显卡:雷电(Thunderbolt)外接的 NVIDIA RTX 4070 Ti SUPER(16GB GDDR6X);
软件栈:Docker 部署
yanwk/comfyui-boot:cu126-slim镜像(CUDA 12.6 + Python 3.12);NVIDIA 驱动:570.181(驱动支持最高 CUDA 12.8);
跑的活:视频生成 workflow(MiniMax-H3 + H3 SLA Attention)。
症状很固定:跑参考视频生成时,SamplerCustomAdvanced 节点每次都报错,错误核心就一句:
RuntimeError: detect_k_anchor kernel launch failed:
CUDA driver version is insufficient for CUDA runtime version
二、错误现场
出问题的工作流标题长得离谱(看得出试了不少参数):
REFERENCE 2026-08-29: fused ref-delta bake + SLA 0.9/64, res_multistep/simple/4, shift 12/3, 1152x640, 243 f, seed 42
完整堆栈里有几个关键跳转,先记下来,后面全靠它:
File "/root/ComfyUI/comfy/k_diffusion/sampling.py", line 1486, in res_multistep
denoised = model(x, sigmas[i] * s_in, **extra_args)
File "/root/ComfyUI/custom_nodes/plaguekind-nodes/ComfyUI-H3-SLA-Attention/sla/patch.py",
line 652, in override
return dense()
File "/root/ComfyUI/comfy/ldm/modules/attention.py", line 611,
in attention_comfy_kitchen_int8
out = comfy_kitchen.int8_attention(
File "/usr/local/lib64/python3.12/site-packages/comfy_kitchen/sage_attention.py",
line 219, in _int8_attention_cuda
_cuda_backend._C.sage_sdpa(报错时的版本:ComfyUI v0.34.2,PyTorch 2.13.0+cu126。
三、排查过程
阶段 1:先把基础环境摘干净
SSH 进 NAS,确认显卡和驱动状态:
$ nvidia-smi
| NVIDIA-SMI 570.181 Driver Version: 570.181 CUDA Version: 12.8 |
| 0 NVIDIA GeForce RTX 4070 Ti SUPER ... 16376MiB |再看容器里的 PyTorch:
$ sudo docker exec 2comfyui python3 -c "import torch; \
print ('torch:', torch.__version__); \
print ('cuda:', torch.version.cuda); \
print ('available:', torch.cuda.is_available())"
torch: 2.13.0+cu126
cuda: 12.6
available: True驱动 570.181、PyTorch 2.13+cu126、CUDA 12.6、GPU 透传,全都正常。容器内的 nvidia-smi 输出和宿主机一模一样,说明 NVIDIA Container Toolkit 这边没问题。
💡 这一步的结论很重要:驱动和 PyTorch 其实是兼容的,错误不在基础环境。别急着去升级驱动,方向错了会浪费一晚上。
阶段 2:进自定义节点的深水区
从堆栈里能看到两个关键角色:
comfy_kitchen.sol_attn—— KJNodes 依赖的模块;plaguekind-nodes/ComfyUI-H3-SLA-Attention—— 视频生成 workflow 用的注意力加速节点。
步骤 A:先通过 ComfyUI Manager 把所有自定义节点更新一遍
进 ComfyUI 网页 → Manager → Update ComfyUI(v0.34.2 → v0.35.1)。

更新成功的节点:
✅
ComfyUI-Easy-Use✅
ComfyUI-KJNodes(关键,修掉了sol_attn模块缺失的问题)
更新失败的两个先忽略:
❌
ComfyUI-ALLinONE-MinimaxH3❌
h3seg_prompt_gen
重启容器让更新生效:
sudo docker restart 2comfyui更新完 ComfyUI + KJNodes 之后,comfy_kitchen.sol_attn 的报错消失了,但 detect_k_anchor 依然在报。
步骤 B:抓一次新堆栈,找到真正的元凶
再跑一次,新的堆栈显示错误来自 SLA 节点的 patched attention:
File "/root/ComfyUI/custom_nodes/plaguekind-nodes/ComfyUI-H3-SLA-Attention/sla/patch.py",
line 493, in dense
return call(q, k, v, heads, mask=mask, attn_precision=attn_precision, ...)
File "/root/ComfyUI/comfy/ldm/modules/attention.py", line 611,
in attention_comfy_kitchen_int8
out = comfy_kitchen.int8_attention(
File "/usr/local/lib64/python3.12/site-packages/comfy_kitchen/sage_attention.py",
line 219, in _int8_attention_cuda
_cuda_backend._C.sage_sdpa(说人话就是:
SLA 节点把全局的
attention函数 patch 成了comfy_kitchen.int8_attention(Sage Attention int8);而 Sage Attention 的
detect_k_anchor内核(一个预编译的 CUDA kernel binary)在我这套环境(PyTorch 2.13 + 驱动 570)下 launch 失败。
步骤 C:确认 comfy-kitchen 版本
$ sudo docker exec 2comfyui pip show comfy-kitchen
Name: comfy-kitchen
Version: 0.2.33已经是最新版了,重装也没用:
$ sudo docker exec 2comfyui pip install --upgrade --force-reinstall --no-cache-dir comfy-kitchen
Found existing installation: comfy-kitchen 0.2.33
Successfully installed comfy-kitchen 0.2.33结论:0.2.33 这个 wheel 里的预编译 binary,本身就跟「PyTorch 2.13 + 驱动 570」这个组合不兼容。也就是说,这不是配置问题,是二进制层面的不匹配。
四、我试过的四条路
方案 A:源码编译 comfy-kitchen(理论上最完美)
编译需要容器里有 nvcc,先看看有没有:
$ sudo docker exec 2comfyui bash -c "which nvcc"
which: no nvcc in (...)❌ 走不通:yanwk/comfyui-boot:cu126-slim 这个镜像不含 CUDA toolkit,没法编译。
方案 B:把 PyTorch 降到 2.12.x
理论上 PyTorch 2.12 加载的 CUDA runtime 可能和 0.2.33 的 wheel 匹配。
❌ 没试:怕影响其他 workflow,风险不值当。
方案 C:给 comfy-kitchen 加 fallback
思路是给 int8_attention 包一层 try/except,失败时回退到 PyTorch SDPA:
# 修改 /usr/local/lib64/python3.12/site-packages/comfy_kitchen/sage_attention.py
if attn_mask is None:
try:
return torch.ops.comfy_kitchen.int8_attention(q, k, v, scale)
except RuntimeError as e:
if "kernel launch failed" in str(e) or "CUDA driver" in str(e):
# fallback 到 PyTorch SDPA
import torch.nn.functional as F
_q = q.transpose(1, 2) if q.dim() == 4 else q
_k = k.transpose(1, 2) if k.dim() == 4 else k
_v = v.transpose(1, 2) if v.dim() == 4 else v
return F.scaled_dot_product_attention(_q, _k, _v, scale=scale.item())
raise✅ 能跑通:workflow 不再报错。但是——画面几乎没法看,基本是一团噪点。原因也简单:fallback 用的是裸 PyTorch SDPA,SLA 节点的 sparse / block / tail_correction 这些优化全都没了。
修复前(走 fallback,画面全是噪点):

(说明:上图不是图片加载失败,而是修复前生成出来的画面本身就只有噪点,主体完全没法辨认。)
方案 D(最终方案):直接在 SLA 节点里换 engine ✅
盯着 workflow 看了半天,才发现 H3 SLA Attention 节点自己就带 engine 切换参数,白折腾了前三条路。
点开 engine 下拉框,只有两个选项:
于是把三个参数一起改了:
engine:comfy_kitchen→tritondense_backend:comfy_kitchen→pytorchuse_int8_gk:on (experimental)→off
重跑 workflow,高清视频立刻出来了:
修复后(SLA + Triton,毛发、眼神、水花都清楚):

说明:上面两张对比图是从原始录屏(before-fix.mp4 / after-fix.mp4)里截取的画面。视频文件比较大,没有一并传到站点附件里,需要的话可以自己上传到媒体库再替换。
五、最终解法:改三个参数,30 秒搞定
以后再遇到这个错误,不需要改一行代码,直接在 workflow 里改 SLA 节点的三个参数:
保存 workflow,重跑即可。如果之前跟我一样打过 monkey patch,记得回滚一下,保持环境干净:
sudo docker exec 2comfyui bash -c \
"cp /tmp/sage_attention.py.bak \
/usr/local/lib64/python3.12/site-packages/comfy_kitchen/sage_attention.py && echo RESTORED"
sudo docker restart 2comfyui六、修复前后对比
七、几条经验
1. 看到「CUDA driver version is insufficient」,先别急着怪驱动
这句话很容易让人第一反应去升级驱动,但实际上:驱动 570.181 已经相当新;真正的错误源是第三方 CUDA kernel 库的预编译 binary 和当前 PyTorch / CUDA 组合不匹配。下次遇到类似报错,先顺着堆栈找到具体的 kernel 来自哪里,比升级驱动有用得多。
2. 改代码之前,先翻一遍节点的参数面板
自定义节点通常自带 backend / engine 切换开关。这次 SLA 节点的 engine 选项,直接绕开了所有代码层面的修改。
3. 雷电外接显卡的几个注意点
eGPU 在容器里的
nvidia-smi输出和宿主机完全一致,驱动兼容性检查照常做就行;雷电 4 的带宽限制(约 32Gbps)会让单图生成略慢,但不会引发 CUDA 兼容性问题——别把它和这类报错混为一谈;
启动 ComfyUI 时建议带上
CUDA_VISIBLE_DEVICES=0,确保用的是外接显卡。
4. 调试流程本身也值得复盘
这次走了几段弯路(升级 comfy-kitchen、想源码编译、写 monkey patch),最后的答案却是改三个参数。如果一开始就仔细看 SLA 节点的参数面板,能省下一两个小时。
八、附录:常用排查命令
# 查看驱动支持的 CUDA 版本
nvidia-smi | head -10
# 查看 PyTorch 版本(容器内)
sudo docker exec 2comfyui python3 -c \
"import torch; print (torch.__version__, torch.version.cuda, torch.cuda.is_available())"
# 查看运行中的 ComfyUI 进程
sudo docker exec 2comfyui ps -ef | grep main.py | grep -v grep
# 找 ComfyUI Python 解释器路径
sudo docker exec 2comfyui ls -l /proc/<PID>/exe 2>/dev/null
# 抓关键错误日志
sudo docker logs 2comfyui --tail 200 2>&1 | grep -iE \
"error|k_anchor|gguf|fp8|kitchen|sage"
# 自定义节点更新失败时手动 git pull(先加大缓冲区)
sudo docker exec 2comfyui bash -c "cd /root/ComfyUI/custom_nodes/<node> && \
git config http.postBuffer 524288000 && git pull"
# GitHub SSL 失败时改用 zip 下载
sudo docker exec 2comfyui bash -c "cd /root/ComfyUI/custom_nodes && \
curl -L -o /tmp/sla.zip https://github.com/<user>/<repo>/archive/refs/heads/main.zip && \
unzip /tmp/sla.zip && cp -r <repo>-main <node>"
# 重装 comfy-kitchen(一般没用,但有时候是 cache 坏了)
sudo docker exec 2comfyui pip install --upgrade --force-reinstall --no-cache-dir comfy-kitchen九、参考信息
十、一句话总结
detect_k_anchor kernel launch failed 最快的修法不是改代码,而是在 workflow 的 SLA 节点里把
engine改成triton、use_int8_gk改成off。



