SamplerDPMPP_2M_SDE
The SDE-flavored version of the sampler that ruled SD
- SAMPLER
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.cpuis the VRAM-saver: it keeps the noise on system RAM and is a genuine lifeline on 8GB cards at high resolutions.SAMPLERoutput.
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
etato 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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| solver_type | COMBO | 2 options: midpoint, heun | |
| eta | FLOAT | 1.000–100 | — |
| s_noise | FLOAT | 1.000–100 | — |
| noise_device | COMBO | 2 options: gpu, cpu |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SAMPLER | SAMPLER | — |