Choose a runtime and preset
Choose the transformer route with --ddo-backend and --ddo-preset.
The runner's --help lists the choices it implements.
| Selection | Use |
|---|---|
linear / auto |
Default PyTorch-backed DDO route, equivalent to one_shot_fast |
linear / one_shot_fast |
Prioritize a single generation's speed |
linear / low_ram_safe |
More conservative residency; not a guarantee of the lowest measured RAM peak |
linear / warm_process |
Repeated use in a persistent process |
linear / wsl_compat |
WSL-oriented linear configuration |
linear / diffusers_leaf_offload_compat |
Official Diffusers leaf offload comparison |
vmm / auto or vmm / vmm_fast |
Experimental native allocator; requires a compatible native package |
vmm / nvme_baseline |
Protected NVMe-backed VMM route |
SDNQ has a dedicated runner and compatible loading route. Selecting a dense or native preset does not make an arbitrary quantized checkpoint compatible.
Match the hardware
With limited VRAM and ample system RAM, compare native VMM against linear DDO for your model. Native VMM retains source data in RAM; it is not the low-RAM choice merely because GPU weights are offloaded.
With limited RAM as well as VRAM, consider low_ram_safe or the NVMe route,
but check the measured RAM peak and staging requirements first. The published
tests do not certify operation on every low-memory machine.
For speed, use the recommendation beside the model's benchmark table. No preset wins for every model, precision or platform. WSL has separate registration limits and measurements.
VAE choices
Transformer and VAE strategies can be combined. Where implemented,
--vae-resident, --vae-leaf-offload and --vae-linear-offload override
the preset's VAE choice. Native VAE needs its own explicit setup.
Without an override, auto/one_shot_fast/low_ram_safe/vmm_fast select no-stream leaf for the VAE; warm_process/wsl_compat/nvme_baseline preserve resident staged execution. A runner-specific decoder can impose additional requirements.
Offloading reduces weight residency, not necessarily activation memory. If the VAE still does not fit, use spatial tiling or the supported temporal streaming decoder. These choices can change decode time and output.