Data Parallel Noise List
The Data Parallel Noise List
- NOISE
If Data Parallel mode is how you turn two GPUs into a tiny render farm, DPNoiseList is the part that stops every render from being identical. It's the per-GPU seed pack for Raylight's Data Parallel samplers, and it's the difference between "one run, one output" and "one run, eight seeds."
The concept is almost insultingly simple: eight INT inputs, one NOISE list output. But the tooltips are worth quoting, because they tell you the whole design intent. Each slot is "Noise seed for GPU N in data parallel mode. Different seeds vary outputs across GPUs."
The inputs that matter. All eight - noise_seed_0 through noise_seed_7 - are required, and they all default to 0. Each has the usual control_after_generate randomize control, so set one slot to randomize and the others to fixed values, or randomize all of them for a sweep. The output NOISE list plugs into the noise_list input on DPKSamplerAdvanced, DPSamplerCustom, or DPSamplerCustomAdvanced.
That's the whole job. One subtlety: the node always emits eight seeds, even if you only have two GPUs. Your sampler reads the first N it needs and ignores the rest - so on a 2-GPU box, seeds for slots 2–7 simply don't run. Not a bug, but it's why "I set seed 7 and nothing changed" is a common first confusion.
How it fits the workflow. Pair it with DPConditioningList and DPLatentList and you've got the full per-GPU control surface: different prompt per GPU, different starting latent per GPU, different seed per GPU. On their own, seeds do the most work - same prompt, N seeds, one run. This is also the honest answer to "why does DP beat just queueing jobs?" Because it's one queue, one model load, and the cluster runs all of it in parallel instead of sequentially.
The one thing it can't do is bail you out of VRAM trouble. DP runs a full copy of the model on every GPU, so if the model doesn't fit on a single card, seeds won't save you - that's FSDP territory, and this node is strictly for DP. And remember DP requires your RayInitializer to have Ulysses and Ring degrees at 0.
Install. It's part of the pack, so one install covers it:
cd ComfyUI/custom_nodes
git clone https://github.com/komikndr/raylight
cd raylight
pip install -r requirements.txt
or ComfyUI Manager → search "raylight" → Install, then restart ComfyUI. No model downloads for this node; the pack's xfuser dependency is the heavyweight install, and Windows means WSL2 in practice.
If you want the whole DP story in one place, the DPKSamplerAdvanced article has the full mode-and-gotchas rundown. Here, just remember: set your seeds, randomize the ones you care about, and don't go looking for seed 7 on a two-GPU box.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| noise_seed_0 | INT | 00–18446744073709550000 | Noise seed for GPU 0 in data parallel mode. Different seeds vary outputs across GPUs. |
| noise_seed_1 | INT | 00–18446744073709550000 | Noise seed for GPU 1 in data parallel mode. Different seeds vary outputs across GPUs. |
| noise_seed_2 | INT | 00–18446744073709550000 | Noise seed for GPU 2 in data parallel mode. Different seeds vary outputs across GPUs. |
| noise_seed_3 | INT | 00–18446744073709550000 | Noise seed for GPU 3 in data parallel mode. Different seeds vary outputs across GPUs. |
| noise_seed_4 | INT | 00–18446744073709550000 | Noise seed for GPU 4 in data parallel mode. Different seeds vary outputs across GPUs. |
| noise_seed_5 | INT | 00–18446744073709550000 | Noise seed for GPU 5 in data parallel mode. Different seeds vary outputs across GPUs. |
| noise_seed_6 | INT | 00–18446744073709550000 | Noise seed for GPU 6 in data parallel mode. Different seeds vary outputs across GPUs. |
| noise_seed_7 | INT | 00–18446744073709550000 | Noise seed for GPU 7 in data parallel mode. Different seeds vary outputs across GPUs. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| NOISE | NOISE | — |