Nodes/raylight/Unified Parallel SamplerCustom (Advance)
ComfyUI Node

Unified Parallel SamplerCustom (Advance)

Data-parallel power with a custom schedule

By komikndr·Created about a year ago·Updated 2 days ago· 409
Unified Parallel SamplerCustom (Advance)
  • ray_actors
  • noise_list
  • positive
  • negative
  • sampler
  • sigmas
  • latent_image
  • latent
  • ray_actors
add_noisetrue
cfg8.0

Take the Unified Parallel Sampler's superpower - running USP, FSDP, CFG, and data-parallel all at once, with a list of per-GPU prompts and seeds - and swap its built-in sampler/scheduler dropdowns for a hand-built SAMPLER + SIGMAS chain, and you've got Unified Parallel SamplerCustom. It's the node for people who want the full parallel mix and a custom noise schedule, instead of trusting the scheduler defaults.

Raylight is Komikndr's multi-GPU pack for ComfyUI - "two 5070s instead of a 5090." This node lives under Raylight/extra/custom_sampling/samplers, and it's the distributed version of ComfyUI's SamplerCustom: you bring your own sampler object and sigmas schedule, the node brings the multi-GPU and multi-prompt machinery.

How it works

Inputs: ray_actors, add_noise (boolean), noise_list, cfg, positive, negative, sampler, sigmas, and latent_image. Outputs: latent (a list, one per DP group) and the ray_actors passthrough.

The data-parallel list inputs are the whole point, same as the non-custom Unified sampler: noise_list is the list of seeds per DP group (from "Data Parallel Noise List"), and positive/negative/latent_image can each be lists too (build them with "Data Parallel Conditioning List" / "Data Parallel Latent List"). Each group gets its own slot in the schedule. What's different from the plain Unified sampler is that sampler_name/scheduler dropdowns are gone - you feed a sampler object and a sigmas schedule from the native custom-sampling nodes, which is exactly what you want when you need a non-default scheduler (say, a custom Karras or an exponential schedule) or a specific sampler-scheduler pairing.

The inputs that matter

  • noise_list - the seed list. One item shares the seed across all groups; multiple items diversify.
  • cfg - a single value applied across all groups. For distilled video models that's usually 1.
  • sampler / sigmas - your custom chain. If a scheduler outputs something the workers can't consume, you'll see it fail here.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/komikndr/raylight
cd raylight
<your_python> -m pip install -r requirements.txt

or ComfyUI Manager → search raylight.

Common issues

The usual list-output gotcha applies: the latent output is a list, so pull the one you want with an index node before decoding. And the config-math validation from the Unified family is here too - Ulysses × Ring × CFG × DP must equal your GPU count or the sampler refuses to run. If your custom SIGMAS chain worked in native ComfyUI but fails here, the first thing to check is whether you're on a stale cluster after changing the parallel config - re-init and rebuild the sampler chain, because a fresh worker set means a fresh graph.

CategoryRaylight/extra/custom_sampling/samplers

Inputs (9)

NameTypeDefaultDescription
ray_actorsRAY_ACTORS
add_noiseBOOLEANtrue
noise_listNOISE
cfgFLOAT8.00–100
positiveCONDITIONING
negativeCONDITIONING
samplerSAMPLER
sigmasSIGMAS
latent_imageLATENT

Outputs (2)

NameTypeDescription
latentLATENT
ray_actorsRAY_ACTORS