Nodes/u5 FreeVRAM - Memory Management/Sequential Checkpoint Loader
ComfyUI Node

Sequential Checkpoint Loader

Load the checkpoint you need, exactly when you need it

By u5dev·Created 12 months ago·Updated 12 months ago· 8
Sequential Checkpoint Loader
  • trigger
  • MODEL
  • CLIP
  • VAE
  • Bypass(Relay)
ckpt_name

Sequential Checkpoint Loader is a normal CheckpointLoaderSimple with a door bolted on. Same dropdown of your models/checkpoints, same MODEL/CLIP/VAE outputs - but it refuses to run until something upstream tells it to.

That matters more than it sounds. In a normal ComfyUI graph, loaders don't wait for anything. ComfyUI figures out which nodes can run and fires them, so a "finish" checkpoint you meant for the second pass of a workflow can end up loaded at the same time as the "rough pass" checkpoint. On an 8GB card, two checkpoints resident simultaneously is the difference between a working run and an OOM crash. This node fixes that by taking a trigger input and deferring its load until the trigger arrives.

How it works

Mechanically it's thin on purpose: it wraps ComfyUI's own CheckpointLoaderSimple internally and calls its load_checkpoint, then passes the trigger value straight through to a Bypass(Relay) output. It's part of the u5 FreeVRAM pack, which also ships a FREE VRAM node and sibling loaders (LoRA, CLIP, VAE) that chain together into a second pass that loads only after the first pass's models are gone.

Inputs and outputs you'll actually set

  • ckpt_name - the only required input: pick your checkpoint from the dropdown.
  • trigger (optional, any type) - wire anything from the previous node here: the Bypass output of a FREE VRAM node, a latent, an image, whatever's handy. The loader waits for it, then hands it through.
  • Outputs: MODEL, CLIP, VAE - wire these to your KSampler, CLIP Text Encode, and VAE Decode exactly as you would from the standard loader. The fourth output, Bypass(Relay), continues the chain to the next sequential node.

The classic arrangement from the pack README:

[FREE VRAM] → trigger → [Sequential Checkpoint Loader]
                              ├─ MODEL, CLIP, VAE → KSampler etc.
                              └─ Bypass(Relay) → next Sequential loader

So: first pass generates a rough sketch, the FREE VRAM node clears the card, the Sequential Checkpoint Loader pulls in the other checkpoint for the finish pass, and the LoRA/VAE loaders follow suit.

Installing it

This ships in the u5 FreeVRAM pack, so you get all the sequential loaders in one go. Via ComfyUI Manager, search "u5 FreeVRAM" and Install, or clone manually:

cd ComfyUI/custom_nodes
git clone https://github.com/u5dev/comfyUI_u5_VramFREE
# restart ComfyUI

No model downloads, no heavy dependencies - the optional psutil is only for prettier RAM logging. Everything else uses ComfyUI's standard API.

Where people get burned

  • No GGUF. The README is admirably honest here: "GGUF形式には対応していません(無理でした)" - GGUF isn't supported, "couldn't do it." If your checkpoint is GGUF, use a regular GGUF loader instead.
  • The ordering guarantee only holds if you wire the trigger. Miss a link and ComfyUI treats this like any other loader, which defeats the whole point. Chain every loader in the second pass through its trigger.
  • It won't fit what doesn't fit. If the finish checkpoint is genuinely too big for the card, ComfyUI falls back to offloading to system RAM - and as the KB's troubleshooting notes, shuffling memory over PCIe is brutally slow. The node controls when a load happens, not whether it fits.
Categoryu5

Inputs (2)

NameTypeDefaultDescription
ckpt_nameCOMBO0 options:
triggeroptIMAGE,LATENT,MODEL,CONDITIONING,CLIP,VAE,MASK,INT,FLOAT,STRING,BOOLEANTrigger(Any): Connect from previous node to control execution order

Outputs (4)

NameTypeDescription
MODELMODEL
CLIPCLIP
VAEVAE
Bypass(Relay)IMAGE,LATENT,MODEL,CONDITIONING,CLIP,VAE,MASK,INT,FLOAT,STRING,BOOLEAN