设备不一致:Expected all tensors to be on the same device(低显存把权重换到 CPU 后触发) / 全站资源搜索
搜索 更新 2026-10-02
报错 051 执行期运行时错误(张量/尺寸/节点) 含未核实说明

设备不一致:Expected all tensors to be on the same device(低显存把权重换到 CPU 后触发)

报错原文(原样)
Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument mat1 in method wrapper_CUDA_addmm)
检索关键词 Expected all tensors to be on the same device、found at least two devices, cuda:0 and cpu、found at least two devices, cpu and cuda:0、wrapper_CUDA_addmm、same device、cuda:0 and cpu
先看这一句 采样过程中报错说有两个设备上的张量参与同一个运算;往往发生在显存吃紧、模型被自动换出到内存的时候。
适用版本 全版本通用;低显存模式与块交换类节点组合下更常见 · 核实日期 2026-09-26 · 状态 可能已过期,正在复核
适用环境:Windows 便携版、秋叶/绘世整合包、Linux + 云 GPU、Docker/服务器

现象与触发场景

常见触发场景:

  • 用了 WanVideoBlockSwap 之类的块交换节点,一部分权重留在 CPU 而输入张量在 GPU
  • --lowvram / --novram 触发模型分片加载,自定义节点没跟着做设备同步
  • 自定义节点在 CPU 上构造张量(如全零 latent、mask),忘了 .to(device)

根因

  • PyTorch 的 matmul 要求参与运算的所有张量在同一设备上;ComfyUI 的低显存模式会把部分权重放在 CPU 上按需搬运,自定义节点若直接对这些权重做运算且输入仍在 CUDA 上,就会报这个错
  • Comfy-Org/ComfyUI#8417 中用户报告:用 wan2.1 1.3B + WanVideoBlockSwapp 必现,而 14B 反而正常,说明与具体的显存/分片策略组合有关,不是单一模型的 bug
  • 定位方法:报错里 "wrapper_CUDA_addmm" 说明是某个线性层(addmm)在 CUDA 上执行时参数不匹配;traceback 最底部仍会指向具体节点

解决步骤

已按「最可能有效」排序。请从上往下做,每做完一步用「验证」确认,不要一次改五处。

  1. 先临时关掉块交换/低显存相关选项,验证是否与显存策略有关
    把 BlockSwap 类节点旁路(Ctrl+B)或把 --lowvram/--novram 去掉重启,如果报错消失,就确认是显存分片策略与节点不配合,而不是模型或工作流本身错。
    python main.py --highvram
  2. 按官方"大模型显存不足"流程逐级降低显存占用
    docs.comfy.org 的 model-issues 文档给出的顺序是:先 --lowvram,不够再 --novram,最后才 --cpu。注意这些参数本身也会改变权重所在设备,因此换档后要重跑一次确认。
    python main.py --lowvram
    python main.py --novram
    python main.py --cpu
  3. 把该组合的复现信息提交给对应节点仓库
    这类报错的根因常在节点内部没做设备同步,用户侧无法直接修。提交 issue 时附上:完整 traceback、ComfyUI 版本、节点版本、启动参数(是否 lowvram/novram)、显存大小与工作流。issue #8417 就是按这个格式提交的,并明确写了"1.3B 复现、14B 正常",便于作者定位。

验证是否修好

关闭块交换或调整显存参数后重跑,采样能完整跑完,不再出现 same device 报错。

补充说明

另有 kijai/ComfyUI-WanVideoWrapper#30、#1146 报告同一报错,说明这是视频类节点的高发问题;具体修复需看该节点后续版本是否加入设备同步,[未核实] 是否已彻底修复。

来源

按可信度排列:官方 issue / 官方文档 > 节点仓库 issue > 社区帖 > 中文社区文章。 链接以纯文本给出(本站不做站外跳转),需要核对时请自行复制到浏览器打开。
  1. [128] (官方 issue) KSampler - Expected all tensors to be on the same device, but found at https://github.com/Comfy-Org/ComfyUI/issues/8417
  2. [129] (节点仓库 issue) Expected all tensors to be on the same device, but found at least two  https://github.com/kijai/ComfyUI-WanVideoWrapper/issues/1146
  3. [115] (官方文档) How to Troubleshoot and Solve ComfyUI Model Issues https://docs.comfy.org/troubleshooting/model-issues
本条的可靠性边界 下面这些位置带 [未核实] 标记,是采集时没找到一手来源的部分,请自行验证:
  • 补充说明

本条报错提到的节点仓库

下面这些节点仓库的名字出现在本条报错的正文里。这里只说「名字出现过」,没有断定问题就是它引起的; 点进去可以看这个包的用途、适配模型与下载量。

这条报错要用到的东西

按本条报错所属的类别(执行期运行时错误(张量/尺寸/节点))列出站内相关的下载包与板块入口。 它们不是「必须下载才能修好」,而是这一类问题里最常要动到的东西;具体怎么做,以上面的解决步骤为准。

ComfyUI 权重库(167 个文件 / 约 1187 GB)按 ComfyUI 的 models 目录分好类的 167 个权重文件 / 每个文件一份说明(放哪、被哪些工作流引用) 待挂载
工作流对照本条工作流的依赖清单,确认模型版本对得上 板块

同一类别的其他条目

这个解法对你有效吗 记录只存在你自己的浏览器里,不需要注册账号。

返回报错库