Skip to content

Samplers: What DDIM, Euler and DPM++ Change

11 min read · updated August 4, 2026

Every sampler in the list is a numerical method for the same problem: integrate a trajectory from noise to image using a network that tells you the local direction. Once you know which numerical method each one is, most of the differences between them become predictable rather than a matter of taste.

The short answer

A trained diffusion model defines a continuous path from pure noise to an image. Sampling is following that path. The solvers differ in three ways only: what order of approximation they use, whether they inject fresh randomness as they go, and how they exploit the specific algebraic structure of the diffusion equation to take larger steps safely.

Every other difference people report — sharper, softer, more detailed, more stable at low steps — is a downstream consequence of those three.

Sampling is solving an ODE

The formal result, from the score-based framing of diffusion published by Song and co-authors in 2021, is that the noising process has an associated probability flow ODE: a deterministic differential equation whose solutions have the same marginal distributions at every noise level as the stochastic process does.

That gives you a choice at sampling time. Follow the stochastic process, and you are simulating an SDE — every run injects noise and every run is different. Follow the ODE, and sampling is deterministic: the same starting latent always produces the same image, and the whole apparatus of numerical integration applies.

The ODE, in the sigma parameterisation Karras et al. (2022) popularised:

    dx/dsigma  =  ( x − D(x, sigma) ) / sigma

    D(x, sigma)  the denoiser's estimate of the clean image
    sigma        the current noise level, decreasing to 0

Everything below is a way of numerically integrating this from sigma_max
down to sigma_min, using as few evaluations of D as possible.

Written that way, “which sampler” becomes the same question a numerical analyst asks about any stiff ODE: how much accuracy per function evaluation can you buy, and how much instability does that buy you at large step sizes.

The families, and what each one changes

SamplerDescription
DDPM / ancestralThe original stochastic sampler. Steps down the noise level and adds fresh noise back at each step. Not a fixed-point process: more steps do not converge to one image. Historically needed hundreds of steps.
DDIMDenoising Diffusion Implicit Models, Song et al. 2020. Removes the injected noise, turning the sampler deterministic and first-order. The result: reproducible outputs, usable step counts, and the ability to invert an image back to its latent. Its eta parameter reintroduces stochasticity when set above zero.
EulerThe plain first-order ODE step in the sigma parameterisation. Deterministic, one evaluation per step, cheapest and most predictable. What most other solvers are compared against.
Euler ancestralEuler plus noise injection at each step. Despite the name, it behaves like the stochastic family: not reproducible across step counts, and it keeps generating new fine detail rather than converging.
HeunSecond-order: takes a trial Euler step, evaluates the denoiser again at the destination, and averages the two directions. Two evaluations per step. More accurate per step, identical cost per evaluation.
DPM-Solver / DPM-Solver++Exponential integrators that exploit the semi-linear structure of the diffusion ODE — the linear part is solved exactly rather than approximated. The ++ variants are designed to remain stable at high guidance scales, which the earlier ones were not.
multistep variants (2M, 3M)Reuse denoiser evaluations from previous steps to estimate curvature instead of computing new ones. This is why they achieve higher-order accuracy at roughly one evaluation per step, and why they dominate low-step-count settings.
UniPCA predictor-corrector framework: predict the next point, then correct it using the evaluation made there. Same idea as multistep, arranged differently, and applicable on top of several solver families.
SDE variants (the 'SDE' suffix)Any of the above with noise injection added back. Trades reproducibility for the detail-regenerating behaviour of stochastic sampling.

The one distinction that matters most

If you learn one thing about samplers, learn this: whether the sampler injects noise decides whether your generations are reproducible and whether step count converges.

PropertyDescription
deterministic (ODE)Same seed and settings give the same image every time. Raising the step count converges towards a fixed image. Supports inversion — recovering the latent that produces a given image — which is what several editing techniques are built on.
stochastic (SDE)Fresh noise each step means the output changes with step count and with anything else that shifts the noise draw. Often produces more fine texture at high step counts, because each injection gives the model new material to shape. Cannot be inverted and cannot be converged.

Neither is better. They answer different questions. If you are iterating on a prompt and need to see the effect of one word, a stochastic sampler makes the comparison meaningless. If you want the most interesting single image and do not care about reproducing it, the extra noise is doing useful work. This interacts directly with what a seed does and does not fix.

The schedule is a separate choice

Most interfaces present the sampler and the sigma schedule as one dropdown or two, and users treat them as one thing. They are independent, and the schedule frequently makes more difference.

The schedule decides where along the noise range your evaluations are spent. A uniform schedule spends them evenly in timestep space, which is not even in noise-level space at all. Karras-style schedules place the sigmas along a power law, concentrating evaluations at the low noise levels where the trajectory curves hardest and detail is decided. Exponential and polynomial variants exist alongside them.

The practical rule: when comparing two samplers, hold the schedule fixed, or the comparison has an uncontrolled variable that is larger than the one being tested. Most sampler comparisons circulating online have this defect.

A selection rule

Since no benchmark is being asserted here, this is a decision procedure based on the properties above rather than on results.

  1. Do you need reproducibility? If any part of your workflow compares two generations, or reuses a seed, or inverts an image, choose a deterministic sampler. This eliminates every ancestral and SDE variant before quality enters the discussion.
  2. What is your evaluation budget? Below roughly twenty evaluations, a second-order multistep solver has the clearest theoretical advantage: higher-order accuracy at one evaluation per step is exactly the property that matters when steps are scarce. Above forty, first-order Euler has converged and the difference largely disappears.
  3. Is your guidance scale high? Solvers explicitly designed for high-guidance stability exist because the earlier ones were unstable there. If you are running guidance above the model’s documented range and seeing artefacts, the solver is a candidate cause alongside the guidance itself.
  4. Does the model card name a sampler? Step-distilled and flow-matching models frequently require a specific solver, and using another produces a plausible bad image rather than an error. This overrides everything above.
  5. Then test on your own prompts, at equal NFE. The convergence harness adapts to this in a few lines: hold the evaluation count fixed and vary the solver instead of the step count.

What is genuinely contested

It is worth being direct, because almost every page on this subject asserts a ranking.

  • There is no model-independent best sampler. Solver performance depends on the model’s parameterisation, the schedule, the guidance scale and the step budget, and those interact. A ranking produced on one checkpoint does not transfer.
  • Whether stochastic sampling improves quality at high step counts is disputed. The mechanism is real — injected noise gives the denoiser new material — but whether the result is better or merely different is an aesthetic judgement, and it is usually reported without a controlled comparison.
  • Claims of the form “sampler X gets there in 12 steps” are usually uncontrolled. Check whether the schedule was held fixed, whether the comparison was at equal step count or equal evaluation count, and whether the guidance scale was the same. Three of those four are commonly wrong at once.
Solver design is an active research area and the practical rankings move. What does not move is the framing on this page: order of accuracy, evaluations per step, determinism, and the separation of solver from schedule. Judge a new sampler by those four properties and you will know most of what it does before you run it.