Nodes/ComfyUI-QuantOps/Load Checkpoint (Quantized)
ComfyUI Node

Load Checkpoint (Quantized)

Load a quantized checkpoint without knowing which layer is which format

By silveroxides·Created 8 months ago·Updated a day ago· 55
Load Checkpoint (Quantized)
    • MODEL
    • CLIP
    • VAE
    ckpt_name
    quant_format
    kernel_backend
    disable_dynamicfalse
    low_memoryfalse

    Checkpoints are the old-school way to ship a model: diffusion transformer, text encoder, and VAE all in one file. This node is the QuantOps answer to loading those combined files when the weights inside are quantized in silveroxides' layouts - and the useful part is that it figures out the per-layer formats itself, so you don't need to know that layer 12 is int8 and layer 40 is fp8-blockwise. If the file came from the convert_to_quant toolchain, this loader reads it and hands you the familiar triple output.

    Why would you reach for it over the separate loaders? Because your file is a checkpoint. If the thing you downloaded is one big .safetensors with the diffusion model, CLIP, and VAE inside, you use this node (or its Simple sibling) the same way you'd use the stock Load Checkpoint. If instead you're working with split files - a diffusion_models UNET plus a text_encoders file - you want Load Diffusion Model (Quantized) and Load CLIP (Quantized) separately. Different file layout, different node.

    How it works

    The loader reads the state dict, then does three quiet things. It cleans up legacy naming - converting old scale_weight tensors to the weight_scale convention the current ops expect. It detects the quantization format of each layer, either from the auto scan or whatever you force in the dropdown. And it packages that as quantization metadata in the model options, so ComfyUI's model factory builds the right mixed-precision operations and attaches the pack's custom kernels. The kernel_backend choice (pytorch vs triton) then decides which int8 matmul path runs.

    The inputs that matter

    • ckpt_name - the combined checkpoint from your checkpoints folder.
    • quant_format - auto is the sensible default; the dropdown also has int8, int8_tensorwise, the fp8 variants (float8_e4m3fn, blockwise, rowwise), mxfp8, hybrid_mxfp8, and nvfp4 if you ever need to force one.
    • kernel_backend - pytorch or triton; triton is the fast int8 path but carries the setup requirements below.
    • disable_dynamic and low_memory - the pack's shared loading toggles.

    Outputs are MODEL, CLIP, and VAE - the same triple the stock Load Checkpoint gives you, so your KSampler and VAE decode wiring doesn't change at all.

    Installing it

    ComfyUI Manager → search "ComfyUI-QuantOps", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI-QuantOps
    

    Restart and let requirements.txt install unifiedefficientloader>=0.5.2. Quantized checkpoints live on silveroxides' HuggingFace.

    The caveats

    The int8 fast path is a setup list, not a single switch: on an RTX 30-series card, int8_tensorwise wants torch 2.10+cu130 or newer, the matching triton-windows wheel, silveroxides' pre-compiled comfy-kitchen int8 wheel, and the --enable-triton-backend launch flag. Skip any step and you'll get fallbacks or backend errors. And the pack itself is deprecated - the README opens by saying int8 ConvRot support is now built into ComfyUI, the author has stopped maintaining, and issue reports get short shrift. If you're on a recent ComfyUI, check whether the native checkpoint loader already handles your file before pulling this pack in; this node's remaining value is for older quantized checkpoints made with the convert_to_quant toolchain.

    Categoryloaders/quantized

    Inputs (5)

    NameTypeDefaultDescription
    ckpt_nameCOMBO0 options:
    quant_formatCOMBO9 options: auto, int8, int8_tensorwise, float8_e4m3fn, float8_e4m3fn_blockwise, float8_e4m3fn_rowwise, +3
    kernel_backendCOMBO2 options: pytorch, triton
    disable_dynamicBOOLEANfalse
    low_memoryBOOLEANfalseUse fast and efficient low impact loading of model. Set to False to use comfy's default loading.

    Outputs (3)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE