Home / 128 GB · Image

128 GB · 1× DGX Spark (GB10)

Qwen-Image 2.1 with the Lightning 4-step LoRA on a DGX Spark

The LightX2V Lightning LoRA cuts Qwen-Image 2.1 from 25 steps to 4. This page measures what that does to the time for one 1024×1024 image in ComfyUI, with the same weights and prompts run both ways on the same machine.

GGUF quantization (Q4_K_M, Q5_K_M)UnslothHugging FaceX @unslothai
Text encoder and VAE filesComfy-OrgHugging Face
ComfyUI-GGUF loadercity96GitHub
ImageQwen-Image-2.1 + LightX2V Lightning 4-step LoRA (GGUF Q4_K_M / Q5_K_M)measured 15 Oct 2026not rankedAI-generated outputs

Not ranked. Measured on the devices shown here only. Measured before the image test v2 protocol of 20 Oct 2026; shown separately and not ranked.

128 GB

DGX Spark 128 GB · Q4_K_M + Lightning · 1024×1024 · models reloaded each run

one NVIDIA DGX Spark (GB10, 128 GB unified memory)

Median time per image, Lightning LoRA, 4 steps22.3 s9 measured runs (3 prompts × 3), models reloaded for each run
Median time per image, same weights without LoRA, 25 steps49.33 sreference arm, same device, same prompts and seed
Speed-up, 25 steps to 4 steps2.2×49.33 s / 22.3 s; below 25/4 because fixed cost per run stays
Server execution time, Lightning, median22.07 sComfyUI "executed in" time
GPU memory peak, Lightning11282 MiBsum of per-process GPU memory (unified memory)
128 GB

DGX Spark 128 GB · Q5_K_M + Lightning · 1024×1024 · models reloaded each run

one NVIDIA DGX Spark (GB10, 128 GB unified memory)

Median time per image, Lightning LoRA, 4 steps25.92 s9 measured runs (3 prompts × 3), models reloaded for each run
Median time per image, same weights without LoRA, 25 steps56.37 sreference arm, same device, same prompts and seed
Speed-up, 25 steps to 4 steps2.2×56.37 s / 25.92 s; below 25/4 because fixed cost per run stays
Server execution time, Lightning, median25.69 sComfyUI "executed in" time
GPU memory peak, Lightning12412 MiBsum of per-process GPU memory (unified memory)
128 GB

DGX Spark 128 GB · Q4_K_M + Lightning · 1024×1024 · models kept loaded

one NVIDIA DGX Spark (GB10, 128 GB unified memory)

Median time per image, Lightning LoRA, 4 steps9.36 s9 measured runs, models stay loaded, seed 42 + index
Median time per image, same weights without LoRA, 25 steps41.35 sreference arm
Speed-up, 25 steps to 4 steps4.4×41.35 s / 9.36 s
Outputs

Real outputs

Q4_K_M + Lightning LoRA, text
AI-generated Q4_K_M + Lightning LoRA, DGX Spark, 4 steps, seed 42, measured run 1. · 22.78 s Prompt: A weathered chalkboard menu on the pavement outside a small cafe, hand-written in white chalk: "TODAY: OAT LATTE 3.50 / FRESH CROISSANT 2.20 / FILTER COFFEE 2.00". Soft morning light, shallow depth of field, photograph. full size
Q4_K_M + Lightning LoRA, photo
AI-generated Q4_K_M + Lightning LoRA, DGX Spark, 4 steps, seed 42, measured run 1. · 22.21 s Prompt: Photograph of an elderly fisherman mending a net on a wooden pier at golden hour, weathered skin with fine wrinkles, salt-and-pepper beard, 85mm lens, shallow depth of field, natural warm light, realistic skin texture. full size
Q4_K_M + Lightning LoRA, illustration
AI-generated Q4_K_M + Lightning LoRA, DGX Spark, 4 steps, seed 42, measured run 1. · 22.30 s Prompt: Flat vector illustration of a cozy home server room: a small friendly robot waters a potted plant next to a glowing GPU rack, warm pastel colors, clean geometric shapes, soft shadows, minimal background. full size
Q4_K_M, no LoRA (reference), text
AI-generated Q4_K_M, no LoRA (reference), DGX Spark, 25 steps, seed 42, measured run 1. · 49.44 s Prompt: A weathered chalkboard menu on the pavement outside a small cafe, hand-written in white chalk: "TODAY: OAT LATTE 3.50 / FRESH CROISSANT 2.20 / FILTER COFFEE 2.00". Soft morning light, shallow depth of field, photograph. full size
Q4_K_M, no LoRA (reference), photo
AI-generated Q4_K_M, no LoRA (reference), DGX Spark, 25 steps, seed 42, measured run 1. · 49.16 s Prompt: Photograph of an elderly fisherman mending a net on a wooden pier at golden hour, weathered skin with fine wrinkles, salt-and-pepper beard, 85mm lens, shallow depth of field, natural warm light, realistic skin texture. full size
Q4_K_M, no LoRA (reference), illustration
AI-generated Q4_K_M, no LoRA (reference), DGX Spark, 25 steps, seed 42, measured run 1. · 49.08 s Prompt: Flat vector illustration of a cozy home server room: a small friendly robot waters a potted plant next to a glowing GPU rack, warm pastel colors, clean geometric shapes, soft shadows, minimal background. full size
Setup

How it was run

  • Weights: Qwen-Image-2.1 as GGUF Q4_K_M and Q5_K_M (unsloth), text encoder qwen3vl_8b_w4a8 and bf16 VAE (Comfy-Org); sha256 of every file is listed
  • LoRA: lightx2v Qwen-Image-2.1-Lightning at revision 6b0a1176, strength 1.0, applied unmerged with LoraLoaderModelOnly; ModelSamplingAuraFlow shift 2.0005 (= exp(mu), mu 0.6935, the dynamic shift from the LoRA README for 1024×1024); 4 steps
  • Reference arm on the same device: the same GGUF weights, 25 steps, no LoRA, no shift node
  • Engine: ComfyUI 0.39.0 (commit 46493d82) with ComfyUI-GGUF (commit 6ea2651e, small local patch for a qwen_image architecture fallback), NGC PyTorch 26.07 container
  • Settings: 1024×1024, Euler, scheduler simple, CFG 1.0, seed 42; prompts "text" (chalkboard menu), "photo" (fisherman), "illustration" (robot and GPU rack)
  • Method: per arm and prompt 1 warm run + 3 measured runs; median of the 9 measured runs; server started with --cache-none, so every run executes the text encoder, sampler and VAE and reloads the models. A second table row per device keeps the models loaded (seed 42 + index so the sampler really runs)
Notes

What to keep in mind

Measured on this device only, not ranked.

One GB10 was measured. Unified memory: the memory column is the sum of per-process GPU memory reported by the driver.

Time per image here is the wall time of one ComfyUI job. With --cache-none this includes loading the text encoder and the model each time, so it is not the pure sampling time; the "models kept loaded" cells show the difference. That is why the speed-up is well below 25/4 = 6.25.

Lightning images are different images, not faster copies of the 25-step ones: PSNR against the Q4_K_M 25-step image is 9.09 / 10.29 / 9.44 dB and SSIM 0.41 / 0.40 / 0.65 (text / photo / illustration). There is no per-image quality score; the chalkboard text with three menu lines was legible and correct in all four stages (two Lightning, two 25-step) by the test author's eye, which is a visual check, not a measurement.

The LoRA was applied through ComfyUI's LoraLoaderModelOnly with a shift value derived from the README. A reference run with the Diffusers example of the LoRA authors was not done, so it is not verified that ComfyUI applies the LoRA exactly as the authors' code does; the server log shows no key warnings. The README itself notes that BF16 Diffusers examples can differ numerically from LightX2V inference.

The GGUF loader (ComfyUI-GGUF) runs with a small local patch (qwen_image architecture fallback). This is our own build, not a release package.

An NVFP4 variant with Lightning was not run on this device.

Same seed gives bit-identical images on repeats (maximum pixel difference 0.0). The machine ran with its standard GPU clock cap (value not published here).

License: the saved model card of the LoRA states no license; see the model pages of the LoRA and of Qwen-Image-2.1.