Nodes/ComfyUI AutoMultiGPU Engine/Auto Universal Loader (MultiGPU - Safetensors & GGUF)
ComfyUI Node

Auto Universal Loader (MultiGPU - Safetensors & GGUF)

UNet, both CLIPs, and VAE in a single multi-GPU load

By nexusfinancial-dev·Created 25 days ago·Updated 24 days ago· 6
Auto Universal Loader (MultiGPU - Safetensors & GGUF)
    • MODEL
    • CLIP
    • VAE
    unet_name
    clip_name1none
    clip_name2none
    vae_namepixel_space
    model_typeauto
    distribution_modeAuto: UNet GPU0 / Encoders GPU1
    weight_dtypedefault
    manual_unet_devicecpu
    manual_clip_devicecpu
    manual_vae_devicecpu

    This is the pack's flagship loader, the one that replaces the whole left side of your graph. AutoUniversalLoaderMultiGPU takes a diffusion model, up to two text encoders, and a VAE - safetensors or GGUF, mixed freely - and loads them all with one node, spreading them across your GPUs according to a distribution strategy. It's the "start here" node if you're building a workflow from scratch with this pack: one dropdown block instead of a loaders gallery.

    The mechanism is honest and the README's "zero monkey-patching" claim holds: it's the pack's modular loaders (UNet, CLIP, VAE) wired into one front end, all using ComfyUI's native load calls with explicit device targeting. That's also why it's the most beginner-friendly entry point - the same machinery as the three engines, minus the strategy decision.

    How it works

    distribution_mode is the whole story. "Auto: UNet GPU0 / Encoders GPU1" (default) pins the model to GPU0 and CLIP/VAE to GPU1. "Auto: Balanced Free VRAM" checks live free memory and sends the heaviest piece to the card with the most headroom. Manual Override exposes manual_unet_device, manual_clip_device, and manual_vae_device for hand-tuning (they're otherwise ignored). On a single-GPU machine everything collapses to cuda:0, gracefully.

    The model_type picker (37 architectures, auto default) resolves the correct CLIPType for your encoders - the pack guesses from filenames when you don't tell it, and you can always override when the filename lies. weight_dtype covers fp8 and fp16/bf16/fp32.

    The inputs that matter

    • unet_name - the diffusion model (safetensors or GGUF).
    • clip_name1 / clip_name2 - text encoders; set to none when the architecture doesn't need two.
    • vae_name - VAE; pixel_space is one of the options in this ecosystem.
    • model_type - architecture; auto unless it mis-guesses.
    • distribution_mode - the device map.

    Outputs: MODEL, CLIP, VAE - everything your KSampler, encoders, and decoder need.

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/nexusfinancial-dev/ComfyUI-AutoMultiGPU.git
    cd ComfyUI-AutoMultiGPU
    pip install -r requirements.txt
    

    Or ComfyUI Manager (search ComfyUI-AutoMultiGPU). Pack deps are torch, accelerate, safetensors only - but GGUF files anywhere in the graph require ComfyUI-GGUF to be installed too, a dependency the README omits.

    Where people get burned

    For combined SD1.5/SDXL checkpoints this loader expects the three pieces as separate files - if your model is one bundled .safetensors checkpoint, use AutoCheckpointLoaderMultiGPU instead. And "zero configuration" is the aspiration, not the contract: when auto model-type guessing gets a file name wrong, you get CLIPType mismatches that surface as silent conditioning problems. If outputs look subtly off, set model_type explicitly. Finally, on a two-card rig this node distributes but doesn't shrink - if the UNet alone exceeds one card, this is DisTorch's job, not the Universal loader's.

    CategoryAutoMultiGPU

    Inputs (10)

    NameTypeDefaultDescription
    unet_nameCOMBOSelect UNet / DiT model (.safetensors or .gguf)
    clip_name1COMBOnoneFirst Text Encoder (.safetensors or .gguf)
    clip_name2COMBOnoneOptional Second Text Encoder (e.g. T5 / CLIP-G / Llama)
    vae_nameCOMBOpixel_spaceVAE model
    model_typeCOMBOautoComprehensive Architecture Model Type
    distribution_modeCOMBOAuto: UNet GPU0 / Encoders GPU13 options: Auto: UNet GPU0 / Encoders GPU1, Auto: Balanced Free VRAM, Manual Override
    weight_dtypeoptCOMBOdefault7 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2, float16, bfloat16, +1
    manual_unet_deviceoptCOMBOcpu1 options: cpu
    manual_clip_deviceoptCOMBOcpu1 options: cpu
    manual_vae_deviceoptCOMBOcpu1 options: cpu

    Outputs (3)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE