Nodes/ComfyUI/SamplerDPMPP_2M_SDE
ComfyUI Node Runs on cloud

SamplerDPMPP_2M_SDE

The SDE-flavored version of the sampler that ruled SD

By Comfy-Org·Created 4 years ago·Updated 6 minutes ago· 129,953
SamplerDPMPP_2M_SDE
    • SAMPLER
    solver_type
    eta1.00
    s_noise1.00
    noise_device

    DPM++ 2M is the most famous sampler name in the hobby - "DPM++ 2M Karras" was the universal safe default for years on SD 1.5 and SDXL. This node is that sampler's noisier cousin: DPM++ 2M SDE. Same 2nd-order multistep core, but with stochastic noise injected at each step, turning the deterministic ODE solver into a stochastic differential equation (SDE) solver.

    If you know the plain 2M, the mental model is: "2M but with grain." The SDE noise gives images a bit more texture and organic detail at the cost of reproducibility - same seed, slightly different result every run, because the sampler is literally rolling dice mid-run.

    How it works

    The sampler maintains the 2nd-order multistep memory of plain 2M (it remembers the previous step's result to improve the next prediction) and adds a fresh noise injection scaled by two parameters. The eta knob sets how much stochasticity is added - at eta = 0 it collapses to the deterministic ODE, i.e., effectively plain 2M. s_noise is a straight multiplier on the injected noise.

    One extra knob the plain 2M node doesn't have: solver_type (midpoint or heun), which changes the internal step-correction scheme. Heun is the more accurate (and slightly more expensive) of the two; midpoint is the default and what most people run.

    The inputs and output

    • solver_type (COMBO: midpoint / heun, default midpoint).
    • eta (FLOAT, 0–100, default 1.0) - stochastic strength. 0 = deterministic.
    • s_noise (FLOAT, 0–100, default 1.0) - noise multiplier.
    • noise_device (COMBO: gpu / cpu) - where the noise tensor lives during sampling. cpu is the VRAM-saver: it keeps the noise on system RAM and is a genuine lifeline on 8GB cards at high resolutions.
    • SAMPLER output.

    When to reach for it

    On SD 1.5/SDXL, SDE versions of the DPM++ family are the "extra texture" pick - a touch more detail and grain than the ODE versions, useful for photoreal or organic subject matter, at the cost of not settling. If you're on a flow-matching model, note the family caveat: the schedules are what break there (Karras/exponential), and SDE samplers are actually among the tolerated ones on conservative schedules - but the safe flow-matching default is still the Euler family.

    Common issues

    • "My same-seed images keep changing." That's the SDE working as designed. If you need reproducible renders, drop eta to 0 or switch to plain 2M.
    • OOM at high res. Before you blame the model, try noise_device = cpu. It's the one-click VRAM relief this node actually gives you.
    • Not a speed node. SDE variants do extra work versus the ODE; if you came for speed, plain 2M is faster.

    It's the workhorse's fashionable sibling - same lineage, more texture, less predictability. For SD-family photoreal work it's a legitimate daily driver.

    Categorymodel/sampling/samplers

    Inputs (4)

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

    Outputs (1)

    NameTypeDescription
    SAMPLERSAMPLER