Nodes/ComfyUI-MultiGPU/UNetLoaderLP
ComfyUI Node

UNetLoaderLP

The low-precision UNet loader for CPU-offloaded models

By pollockjj·Created 2 years ago·Updated 3 months ago· 925
UNetLoaderLP
    • MODEL
    unet_name

    "LP" here means low-precision, and this node exists for one specific situation: you're offloading your UNet to system RAM (with DisTorch, or the pack's other offload tooling) and you want that offloaded copy to take up as little host memory as possible. The pack's own docs describe it plainly - a low-precision variant of the standard UNet loader that disables high-precision LoRA tensors for models stored on CPU, to conserve host RAM while staying compatible with the rest of the MultiGPU family.

    Why this is a separate node

    Normally, when a UNet sits partly or fully in CPU DRAM (which is exactly what DisTorch's virtual_vram_gb offload does), any LoRA patches applied to it get carried at whatever precision they were trained or loaded at - often higher precision than you'd bother with on VRAM, since RAM is comparatively "free" and nobody used to think twice about it. Except once you're offloading tens of gigabytes of model to system RAM, that overhead adds up, and 32GB or 64GB of DDR isn't infinite either - especially if you're also running the OS, a browser, and whatever else alongside ComfyUI. UNetLoaderLP forces those LoRA tensors down to a lower precision specifically for the CPU-resident case, trading a bit of numerical headroom for meaningfully less RAM pressure. It's a narrow, specific fix for a narrow, specific bottleneck - not a general-purpose UNet loader you'd reach for by default.

    Input and output

    There's exactly one thing to set:

    • unet_name - your UNet/diffusion-model checkpoint file, picked from ComfyUI/models/unet (or wherever your extra_model_paths.yaml points).

    Output is a single MODEL - wire it straight into your sampler chain the same way you would with UNETLoader or any of this pack's other UNet loaders. There's no device or offload dial on this particular node itself; it's meant to sit alongside the pack's DisTorch/MultiGPU UNet loaders (which do the actual device placement) rather than replace them - this one's job is specifically what happens to LoRA tensor precision once the model lands on CPU.

    Installing it

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

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

    No extra Python packages required - like the rest of the pack, it wraps ComfyUI's existing loading machinery rather than bringing in a new dependency. It'll show up in your loaders list once ComfyUI restarts; right-click it and use the Help (question-mark) entry for the pack's own quick reference.

    Common issues & troubleshooting

    You loaded a UNet with this node but see no memory difference. The precision drop only matters for LoRA tensors attached to a model that's actually resident on CPU. If your UNet is sitting entirely in VRAM (no offload configured elsewhere in the workflow), there's nothing here for it to save - you won't notice a difference until you're genuinely offloading.

    No LoRAs in your workflow, and you're not sure why you'd use this over the plain UNet loader. You probably don't need it. This node earns its keep specifically when you're both (a) offloading a chunk of the UNet to system RAM and (b) applying LoRAs on top. If either half is missing, the stock UNETLoader (or this pack's regular MultiGPU/DisTorch2 UNet loaders, if you want device placement) is the more usual choice.

    Output quality looks slightly different from the full-precision path. That's the trade the name promises - it's deliberately lower precision on the CPU-resident LoRA tensors. If you're chasing exact reproducibility rather than RAM headroom, keep the model fully on VRAM instead of reaching for this node.

    Categoryloaders

    Inputs (1)

    NameTypeDefaultDescription
    unet_nameCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    MODELMODEL