Comfy-Org / Comfy-Org/ComfyUI

Error occurred when executing KSampler:

Open
#2,517 1 comment 2 reactions 0 assignees View on GitHub
User Support
Dominant language
Python
Stars
133k
Forks
15.7k
Avg merge
1d 6h
Merged PRs (30d)
155

Description

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)

File "/home/meta/comfyui_latest_4/ComfyUI/execution.py", line 154, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/home/meta/comfyui_latest_4/ComfyUI/execution.py", line 84, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/home/meta/comfyui_latest_4/ComfyUI/execution.py", line 77, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/home/meta/comfyui_latest_4/ComfyUI/nodes.py", line 1299, in sample
return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
File "/home/meta/comfyui_latest_4/ComfyUI/nodes.py", line 1269, in common_ksampler
samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
File "/home/meta/comfyui_latest_4/ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/animatediff/sampling.py", line 178, in animatediff_sample
return orig_comfy_sample(model, noise, *args, **kwargs)
File "/home/meta/comfyui_latest_4/ComfyUI/custom_nodes/ComfyUI_Impact_Pack/modules/impact/sample_error_enhancer.py", line 22, in informative_sample
raise e
File "/home/meta/comfyui_latest_4/ComfyUI/custom_nodes/ComfyUI_Impact_Pack/modules/impact/sample_error_enhancer.py", line 9, in informative_sample
return original_sample(*args, **kwargs) # This code helps interpret error messages that occur within exceptions but does not have any impact on other operations.
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/sample.py", line 101, in sample
samples = sampler.sample(noise, positive_copy, negative_copy, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/samplers.py", line 716, in sample
return sample(self.model, noise, positive, negative, cfg, self.device, sampler, sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/samplers.py", line 622, in sample
samples = sampler.sample(model_wrap, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/samplers.py", line 561, in sample
samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/k_diffusion/sampling.py", line 580, in sample_dpmpp_2m
denoised = model(x, sigmas[i] * s_in, **extra_args)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/samplers.py", line 285, in forward
out = self.inner_model(x, sigma, cond=cond, uncond=uncond, cond_scale=cond_scale, model_options=model_options, seed=seed)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/samplers.py", line 275, in forward
return self.apply_model(*args, **kwargs)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/samplers.py", line 272, in apply_model
out = sampling_function(self.inner_model, x, timestep, uncond, cond, cond_scale, model_options=model_options, seed=seed)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/samplers.py", line 252, in sampling_function
cond_pred, uncond_pred = calc_cond_uncond_batch(model, cond, uncond_, x, timestep, model_options)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/samplers.py", line 201, in calc_cond_uncond_batch
c['control'] = control.get_control(input_x, timestep_, c, len(cond_or_uncond))
File "/home/meta/comfyui_latest_4/ComfyUI/custom_nodes/ComfyUI-Advanced-ControlNet/control.py", line 182, in get_control
return super().get_control(x_noisy, t, cond, batched_number)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/controlnet.py", line 174, in get_control
control = self.control_model(x=x_noisy.to(dtype), hint=self.cond_hint, timesteps=timestep.float(), context=context.to(dtype), y=y)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/cldm/cldm.py", line 287, in forward
emb = self.time_embed(t_emb)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/container.py", line 215, in forward
input = module(input)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "/home/meta/comfyui_latest_4/ComfyUI/comfy/ops.py", line 28, in forward
return super().forward(*args, **kwargs)
File "/home/meta/miniconda3/envs/comfyui_env/lib/python3.10/site-packages/torch/nn/modules/linear.py", line 114, in forward
return F.linear(input, self.weight, self.bias)

Contributor guide

Open the contributing guide

Research direction

Start with comfy/controlnet.py at get_control and comfy/cldm/cldm.py at forward, then reproduce the KSampler failure using the reported stack trace and involved ControlNet nodes. Done means the KSampler path no longer passes CPU and CUDA tensors into the same operation; the payload names no test file to run.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
backend, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.