报错
062
PyTorch、CUDA 运行库与加速库冲突
有来源可查
生成中途崩:CUDA error: device-side assert triggered / an illegal memory access was encountered / unspecified launch failure
报错原文(原样)
RuntimeError: CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1. Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.
检索关键词
CUDA error: device-side assert triggered、CUDA error: an illegal memory access was encountered、RuntimeError: CUDA error: unspecified launch failure、CUDA_LAUNCH_BLOCKING=1、TORCH_USE_CUDA_DSA、cudaErrorIllegalAddress
先看这一句
生成过程随机在某个采样步崩溃,报 device-side assert / illegal memory access / unspecified launch failure 之一;有时同一条工作流重跑又正常,有时直接连带显卡驱动崩溃。
适用版本 全版本通用。50 系(sm_120)用户还需注意 Blackwell 上 cuDNN 的 SDPA 后端问题(见 notes),二者表现相似但修法不同。
·
核实日期 2026-09-26
·
状态 已核实
适用环境:Windows 便携版、秋叶/绘世整合包、ComfyUI Desktop、Linux + 云 GPU、Docker/服务器
现象与触发场景
常见触发场景:
- 显存分配失败或显存被其他进程占满时,内核启动失败
- 某个自定义节点的 kernel 越界(例如非法索引在 embedding 上)
- 使用了 SageAttention 等第三方 attention 实现,或在 50 系上用了与 Blackwell 不兼容的 attention 后端
- 换显卡、换驱动、超频之后出现
根因
- CUDA kernel 错误是异步上报的,栈里显示的行号往往不是真正的出错点,必须用 CUDA_LAUNCH_BLOCKING=1 让错误同步暴露;PyTorch 的提示原文就写明了这一点。
- device-side assert 常见于索引越界(例如 token/类别 id 超出范围)与显存不足;unspecified launch failure 常见于显存不足、驱动被系统更新后版本错乱。
- 有实测记录的诱因:SageAttention 的 FP8 QK kernel 在 Ada(sm89)上不稳定会导致 launch failure,退回 FP16 路径即可解决(thu-ml/SageAttention issue #309);另有 RTX 5090 + WAN 2.2 在 ComfyUI 0.3.68 之后出现 cudaErrorIllegalAddress 的回归报告(ComfyUI issue #14714)。
解决步骤
已按「最可能有效」排序。请从上往下做,每做完一步用「验证」确认,不要一次改五处。
- 先用同步模式定位真正的出错位置设置 CUDA_LAUNCH_BLOCKING=1 后重启,让 CUDA 调用同步执行,报错堆栈才会指向真正出错的算子/节点;随后只保留可疑节点逐步排查。$env:CUDA_LAUNCH_BLOCKING=1.\python_embeded\python.exe -s ComfyUI\main.py
- 排除显存与僵尸进程因素用 nvidia-smi 查看是否有残留 python 进程占着显存,先杀掉再重试;降低分辨率/批次、加上显存参数可排除 OOM 引起的启动失败。ComfyUI 官方文档给出的常用写法如下。nvidia-smiGet-Process python | Stop-Process -Force.\python_embeded\python.exe -s ComfyUI\main.py --lowvram.\python_embeded\python.exe -s ComfyUI\main.py --disable-smart-memory
- 怀疑第三方 attention 实现时,先关掉它做对照启动时去掉 --use-sage-attention 等参数,改用 PyTorch 原生注意力;官方对 Blackwell 还专门给了 --use-split-cross-attention 这条绕过 SDPA/cuDNN 的修法。确认是该库问题后,可选择换用更稳定的精度路径或更新库版本。.\python_embeded\python.exe -s ComfyUI\main.py --use-pytorch-cross-attention.\python_embeded\python.exe -s ComfyUI\main.py --use-split-cross-attention
- 驱动被系统更新过时,回退/重装正确版本的 NVIDIA 驱动有实测文章记录:Linux 上 apt 更新 NVIDIA 驱动之后开始出现 unspecified launch failure,重装合适版本的驱动后恢复正常;这类错误出现时间点与驱动更新时间吻合时应优先怀疑驱动。nvidia-smi --query-gpu=driver_version --format=csv
验证是否修好
用同一工作流连跑 3 次以上不再随机崩溃;CUDA_LAUNCH_BLOCKING=1 下也不再出现 kernel 错误;nvidia-smi 在空闲时显存占用回落到接近 0。
补充说明
另有一条与 Blackwell 相关的官方记录:在 Blackwell 代 NVIDIA GPU 上,PyTorch 默认的 SDPA 可能选到 cuDNN 后端而该后端在此架构上没有可用的执行计划,报 “cuDNN Frontend error: No valid execution plans built”,FLUX 会在 UNet 第一个注意力块失败;官方给出的可靠修法是启动参数 --use-split-cross-attention,并明确说明从 sitecustomize.py 里调用 torch.backends.cuda.enable_cudnn_sdp(False) 不可靠。
来源
按可信度排列:官方 issue / 官方文档 > 节点仓库 issue > 社区帖 > 中文社区文章。
链接以纯文本给出(本站不做站外跳转),需要核对时请自行复制到浏览器打开。
- [6] (官方文档) How to Troubleshoot and Solve ComfyUI Issues(Blackwell GPUs:generation https://docs.comfy.org/troubleshooting/overview
- [148] (节点仓库 issue) FP8 QK kernels unstable on Ada (sm89, RTX 4060 Ti) — BF16/FP8 path cau https://github.com/thu-ml/SageAttention/issues/309
- [149] (官方 issue) Regression: RTX 5090 + WAN 2.2 causes cudaErrorIllegalAddress / GPU dr https://github.com/Comfy-Org/ComfyUI/issues/14714
- [150] (社区) 【StableDiffusion】CUDAエラーに対するトラブルシューティング【RTX50シリーズ】 https://elirlab.com/sd-error-cuda-20250914/
这条报错要用到的东西
按本条报错所属的类别(PyTorch、CUDA 运行库与加速库冲突)列出站内相关的下载包与板块入口。 它们不是「必须下载才能修好」,而是这一类问题里最常要动到的东西;具体怎么做,以上面的解决步骤为准。
环境与依赖配置包依赖版本组合清单 / 环境自检脚本说明
待挂载
同一类别的其他条目
【056】启动或首次生成时报 AssertionError: Torch not compiled with CUDA enabled(装成了 CPU 版 torch)
有来源
【057】50 系显卡第一次卷积就崩:CUDA error: no kernel image is available for execution on the device
含未核实
【058】启动直接崩:torch / torchvision / torchaudio 三者 CUDA 版本不一致
含未核实
【059】节点执行时报 Could not run 'torchvision::nms' / operator torchvision::nms does not exist
含未核实
【060】自定义节点装完 / 更新依赖后 torch 被偷换成 CPU 版(依赖漂移)
有来源
这个解法对你有效吗
记录只存在你自己的浏览器里,不需要注册账号。
知仓学习社