Nodes/ComfyUI-MultiGPU/CheckpointLoaderSimpleMultiGPU
ComfyUI Node

CheckpointLoaderSimpleMultiGPU

The plain one-file checkpoint loader, with a device dropdown

By pollockjj·Created 2 years ago·Updated 3 months ago· 925
CheckpointLoaderSimpleMultiGPU
    • MODEL
    • CLIP
    • VAE
    ckpt_name
    devicecpu

    This is the baseline node in the whole pack - the device-aware twin of ComfyUI's own CheckpointLoaderSimple. Same ckpt_name file picker (its own tooltip: "The name of the checkpoint (model) to load"), same three outputs, plus one addition: a device dropdown.

    Where this actually earns its keep

    Dual-GPU rigs, and specifically mismatched ones. Real setups run this exact pattern - a newer card paired with an older, weaker second one purely to hold a model out of the way, not to do heavy compute (a 4070 alongside a 4060 Ti came up as exactly this kind of pairing in discussion around this pack). Point device at the weaker second card and your SD1.5 or SDXL checkpoint sits there entirely, freeing your main GPU's VRAM for the sampling loop with nothing else on it.

    If you're single-GPU, device: cpu still works - the checkpoint sits in system RAM instead. That's fine for models that fit comfortably where you're not chasing every last bit of speed, but it's genuinely slower than VRAM by a wide margin: main-GPU memory bandwidth outruns the PCIe bus by roughly an order of magnitude, and with the whole checkpoint pinned to cpu, every layer's weights make that trip.

    Where this actually makes sense on a single GPU: loading a second checkpoint you're not actively sampling from right now - a refiner, a face-detail model, anything you'll swap to later in the same session - onto cpu so it doesn't sit idle in VRAM competing with the model you're actually using. You pay the PCIe cost once when you switch to it, not on every step of the run you're currently doing.

    The inputs and outputs that matter

    • ckpt_name - the checkpoint file.
    • device (default cpu) - where the whole thing lives.
    • Outputs, carrying the core ComfyUI tooltips: MODEL ("the model used for denoising latents"), CLIP ("the CLIP model used for encoding text prompts"), VAE ("the VAE model used for encoding and decoding images to and from latent space").

    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

    No splitting - whole checkpoint, one device. If it doesn't fit anywhere you have available, this node can't help; that's what CheckpointLoaderSimpleDisTorch2MultiGPU is for, offloading just the parts you need to.

    Picking a device that doesn't exist. cuda:1 on a single-GPU machine errors immediately at load. Not specific to MultiGPU - it's the cost of exposing device choice at all - but worth checking first if the node refuses to run.

    Expecting a speedup from the second card alone. It won't happen on its own. There's no parallelism here - diffusion steps still run sequentially on one model. The benefit of a second GPU in this node is memory headroom, not throughput; don't expect "two cards = twice as fast."

    Reaching for this when you actually want a partial split. If your goal is squeezing a checkpoint that doesn't comfortably fit anywhere onto a card that's almost, but not quite, big enough, this whole-file pin is the wrong tool - you want CheckpointLoaderSimpleDisTorch2MultiGPU, which can push just enough of the model off to make the difference instead of moving all of it.

    Categorymultigpu

    Inputs (2)

    NameTypeDefaultDescription
    ckpt_nameCOMBOThe name of the checkpoint (model) to load.
    deviceoptCOMBOcpu1 options: cpu

    Outputs (3)

    NameTypeDescription
    MODELMODELThe model used for denoising latents.
    CLIPCLIPThe CLIP model used for encoding text prompts.
    VAEVAEThe VAE model used for encoding and decoding images to and from latent space.