Nodes/ComfyUI-MultiGPU/DiffControlNetLoaderMultiGPU
ComfyUI Node

DiffControlNetLoaderMultiGPU

The legacy diff-format ControlNet loader, with a device pin

By pollockjj·Created 2 years ago·Updated 3 months ago· 925
DiffControlNetLoaderMultiGPU
  • model
  • CONTROL_NET
control_net_name
devicecpu

The plain device-pin twin of DiffControlNetLoaderDisTorch2MultiGPU. It shares the same unusual requirement: a model input, because "diff" ControlNets - an older publishing format from ControlNet's earliest days - store a weight delta relative to a named base model rather than shipping as a standalone network. The loader needs that base model on hand to reconstruct the actual ControlNet from the delta.

When you'd actually reach for this over the standard loader

Only when your specific ControlNet file is published as a diff - check the model card first. Most ControlNets released since the SDXL era ship as standalone networks and load through the plain ControlNetLoaderMultiGPU instead, which doesn't need a base model at all. This node exists for the older format, not as your default.

The format itself dates back to ControlNet's first wave on SD1.x/2.x: rather than publishing a full separate network, some early releases only shipped the difference between the base model's weights and the ControlNet-augmented ones, which kept file sizes down at a time when bandwidth and storage were more of a constraint than they are now. You'll still find it on some older Civitai and HuggingFace uploads, which is why the loader hangs around in ComfyUI core and, by extension, in this pack.

The inputs and outputs that matter

  • model - your base checkpoint's MODEL, required, matched to whatever architecture the diff ControlNet was published against.
  • control_net_name - the diff ControlNet file.
  • device (default cpu) - where it's pinned. No splitting on this variant - that's what the DisTorch2 sibling is for.
  • Output: CONTROL_NET.

How to install it

ComfyUI Manager: search ComfyUI-MultiGPU, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/pollockjj/ComfyUI-MultiGPU

then restart. No extra dependencies.

Common issues & troubleshooting

Wrong base model plugged into model. This produces a nonsensical delta rather than a clean error - match it carefully to the architecture the diff ControlNet was actually published against.

Not sure your file needs this specific loader? Try the plain ControlNetLoaderMultiGPU (no model input required) first - it's the right choice for the vast majority of ControlNets you'll download today. This node is specifically for the older diff-delta format, which is increasingly rare outside SD1.x/2.x releases.

All-or-nothing device pin. Same as every other plain MultiGPU loader in this pack - the whole file lives on one device. If it doesn't fit, that's what the DisTorch2 sibling's splitting is for.

It's small, so don't over-think placement. Legacy diff ControlNets are typically modest files from an era before union checkpoints ballooned model sizes - unless your cpu is already under heavy pressure from everything else in the workflow, either placement choice is usually fine.

Confirm the file is actually a diff ControlNet before troubleshooting further. If the required model input feels like a strange extra step, that's your cue to double-check the file you downloaded - a standalone ControlNet run through this node by mistake won't need that base-model reference at all, and you'd be better served by the plain ControlNetLoaderMultiGPU.

Categorymultigpu

Inputs (3)

NameTypeDefaultDescription
modelMODEL
control_net_nameCOMBO0 options:
deviceoptCOMBOcpu1 options: cpu

Outputs (1)

NameTypeDescription
CONTROL_NETCONTROL_NET