ROCm KSampler Advanced
KSampler Advanced, re-homed for AMD with the step dials intact
- model
- positive
- negative
- latent_image
- LATENT
ROCm KSampler Advanced is what it says on the tin: KSampler Advanced, reskinned and moved under ROCm Ninodes/Sampling. The node description is refreshingly honest about it - "stock ComfyUI implementation." If you know what start_at_step does, you know what this node does. The pack's contribution is the same wrapper it puts on the plain KSampler: architecture and model auto-detection, ROCm backend settings, emergency memory cleanup for high-memory models, and a chatty progress callback with ETA.
How it works
The sampling path is a 1:1 copy of ComfyUI's KSampler (Advanced), so your images come out numerically identical to stock. The additions are environmental. Before sampling it detects your GPU (gfx1151/RDNA, gfx1100, gfx1030, CDNA) and your model's type - flow-matching models like Flux, LTX and WAN get logged and handled with appropriate backend settings, and high-memory models get a cleanup pass before and after so you don't run the last few steps against a fragmented heap. On NVIDIA or with compatibility_mode on, it quietly becomes the stock node with better logging.
The part you'll actually notice is the callback: a progress bar, live previews on stills, and a per-step ETA line in the terminal.
The inputs that matter
Same dials as stock Advanced, in the same order:
- start_at_step / end_at_step - the reason this node exists. Start at step 15 of 20 and you're doing a light denoise pass; that's how img2img and refinement loops work here.
- add_noise - set to "disable" when you're refining an existing latent and don't want fresh noise poured in.
- return_with_leftover_noise - leave "disable" unless you're chaining samplers and want to hand off an unfinished latent.
- steps, cfg, sampler_name, scheduler, positive, negative, latent_image, noise_seed - the standard fare. The README's AMD-friendly guidance applies: cfg 7–8, euler/heun/dpmpp_2m.
Note there's deliberately no denoise field here - that's the basic KSampler's job. Advanced controls denoising through the step range instead. Same as stock, and same confusion for new users.
The optional optimize_for_video, precision_mode (auto/fp32/bf16) and compatibility_mode toggles are shared with the plain sampler. LATENT out feeds VAE Decode as usual.
Installing it
Same pack install as everything else in ROCm Ninodes - ComfyUI Manager, search rocm-ninodes, or:
cd ComfyUI/custom_nodes
git clone https://github.com/iGavroche/rocm-ninodes.git
then restart. v1.x upgraders run uv run python tools/upgrade_to_v2.py once. The dependency story is unchanged: numpy, Pillow, psutil, gguf, safetensors on top of a ROCm PyTorch build; no models to download.
The honest version
You'd reach for this node for one of two reasons: you're on AMD and want the backend tuning plus terminal visibility without re-learning a sampler, or you're following an example workflow that already uses ROCm nodes and you want the whole graph in one pack. If you're perfectly happy with stock KSampler Advanced on an NVIDIA card, there's no compelling reason to switch - the value here is environmental, not algorithmic. But when an LTX workflow has you fighting memory pressure, having the cleanup and the logging in the same node you were already using is a small genuine win.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| add_noise | COMBO | 2 options: enable, disable | |
| noise_seed | INT | 00–18446744073709550000 | — |
| steps | INT | 201–10000 | — |
| cfg | FLOAT | 8.00–100 | — |
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| latent_image | LATENT | — | |
| start_at_step | INT | 00–10000 | — |
| end_at_step | INT | 100000–10000 | — |
| return_with_leftover_noise | COMBO | 2 options: disable, enable | |
| optimize_for_videoopt | BOOLEAN | false | Disable previews/progress for multi-frame latents |
| precision_modeopt | COMBO | auto | ROCm precision hint (no-op on CUDA/CPU) |
| compatibility_modeopt | BOOLEAN | false | Force pure stock behavior |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |