Nodes/ComfyUI/SamplerDPMPP_3M_SDE
ComfyUI Node Runs on cloud

SamplerDPMPP_3M_SDE

The higher-order SDE that squeezes more out of each step

By Comfy-Org·Created 4 years ago·Updated about 10 hours ago· 130,493
SamplerDPMPP_3M_SDE
    • SAMPLER
    eta1.00
    s_noise1.00
    noise_device

    DPM++ 3M SDE is the "one more" in the DPM++ family: a 3rd-order multistep sampler with stochastic noise, where 2M was 2nd order and 2S was single-step. Order here is how much history the solver keeps around to improve its next prediction. 3M remembers two previous steps instead of one, which buys better per-step accuracy - and with the SDE noise added on top, you get both the extra fidelity and the grain.

    For SD 1.5/SDXL work this made it a quiet fan favorite: at the same step count it often edges out 2M SDE in detail, and its whole reputation is "2M SDE but a bit better per step." The cost is a touch more compute per step and a longer tail to warm up - multistep samplers need those history steps before they hit their stride, so at very low step counts (under ~10) the higher order stops being an advantage.

    How it works

    The mechanism is the multistep core (uses the previous two predictions to correct the current one) plus per-step noise injection. Two knobs control the stochastic side, exactly like its 2M sibling:

    • eta (FLOAT, 0–100, default 1.0) - stochastic strength; 0 = deterministic ODE.
    • s_noise (FLOAT, 0–100, default 1.0) - multiplier on injected noise.

    And the one knob that's a practical VRAM tool:

    • noise_device (COMBO: gpu / cpu) - set it to cpu to offload the noise tensor to system RAM. On an 8GB card at high resolutions, that can be the difference between sampling and an OOM crash, with no quality cost.

    One SAMPLER output. Nothing exotic.

    When to reach for it

    On SDXL and its finetunes at moderate step counts (15–30), 3M SDE is a legitimately strong pick - the extra order shows up as cleaner detail than 2M SDE at the same cost, and the stochastic grain keeps it from looking plastic. On flow-matching models, remember the family rule: SDE samplers are among the tolerated ones on conservative schedules, but Euler-family is the safer default, and the schedules (Karras/exponential) are the actual landmines.

    Common issues

    • Below ~10 steps, the order doesn't help. The multistep history needs room to work. At low step counts you're paying the SDE cost for no multistep benefit - plain 2M or an ancestral sampler will serve you better.
    • Reproducibility, again. It's an SDE sampler; same seed won't reproduce exactly. eta = 0 turns off the stochastic part if you need determinism.
    • Expecting it to be faster than 2M. It isn't. Higher order = more work per step. The win is quality per step, not speed.

    It's the "if you like 2M SDE, this is the upgrade" node - niche, but the niche is real, and on SDXL it's one of the best texture-plus-fidelity samplers the built-in list has.

    Categorymodel/sampling/samplers

    Inputs (3)

    NameTypeDefaultDescription
    etaFLOAT1.000–100
    s_noiseFLOAT1.000–100
    noise_deviceCOMBO2 options: gpu, cpu

    Outputs (1)

    NameTypeDescription
    SAMPLERSAMPLER