ComfyUI Setup: Measure Speed, Compare GPUs, Run on CPU
Measure ComfyUI iterations per second, compare RunPod GPU costs, and run on CPU when you have no GPU.
On this page
A Civitai author tested nine GPUs on RunPod using a single workflow, a fixed seed, three resolutions, and three step counts. The resulting per-video times looked clean — but the price data was already stale by the time the article published (source). If you're budgeting a project on those numbers, you're already wrong.
ComfyUI Setup: Measure Speed, Compare GPUs, Run on CPU
TL;DR
- Best value: RTX 5090 at $0.99/hr (RunPod pricing) — ~39 videos/hr (source)
- Best throughput: H100 SXM at $2.69/hr (RunPod pricing) — ~56 videos/hr (source)
- No GPU: ComfyUI-cpu runs SD 1.5 on CPU-only machines via PyTorch CPU tensors — minutes per image, zero GPU cost
- Prices change: Always check the RunPod pricing page before budgeting
How to Measure ComfyUI Iterations Per Second Honestly
The Civitai benchmark (source) controlled the variables that matter. Here are the test conditions and what you need to replicate them:
| Parameter | Source Test Value | Why It Matters | How to Fix It |
|---|---|---|---|
| Workflow | Yet Another Workflow v0.36 | Different workflows have different node graphs | Fix the workflow; don't switch between cards |
| Seed | 561278855360750 | Different seeds = different compute paths | Hard-code the seed in your KSampler node |
| Resolution | 1280×768, 640×896, 512×768 | VRAM and compute scale with pixel count | Test exactly the resolution you'll use in production |
| Steps | 10, 8, 4 | Each step is a full UNet forward pass | Test the step counts you actually run |
| Frames | 61 per video | Frame count affects total compute | Match your target output length |
| Post-processing | 32fps GIMM interpolation | Interpolation adds a fixed per-video cost | Include it if your production pipeline does |
| Model loading | Excluded | Varies by GPU, storage, and model size | Exclude it; time only from first denoise step to final decode |
| Iterations | Single run per config | A single run is noise | Run each config at least 3× and average |
If you change any variable between cards, you're not comparing GPUs — you're comparing configurations.
Compare Rented GPU Costs Before You Commit
RunPod's pricing page (runpod.io/pricing) lists these on-demand rates. The throughput numbers below come from the Civitai source (source):
| GPU | Price/hr | VRAM | Throughput (source) | Cost/video (source) |
|---|---|---|---|---|
| RTX 5090 | $0.99 | 32 GB | ~39 videos/hr | ~$0.025 |
| H100 SXM | $2.69 | 80 GB | ~56 videos/hr | ~$0.048 |
The H100 SXM delivers ~43% more throughput but costs ~2.7× more per hour (source). Your decision depends on whether time or money is the binding constraint.
Critical correction: The November 2025 source cited RTX 5090 at $0.89/hr (source). The current RunPod price is $0.99/hr (runpod.io/pricing). Never budget from a benchmark's price column; always check the live pricing page.
Performance at 1280×720, 4 steps
The source also reported per-GPU generation times at this resolution (source):
| GPU | Seconds/video |
|---|---|
| H100 SXM | ~172 |
| RTX PRO 6000 | ~243 |
Run ComfyUI on CPU When You Have No GPU
ComfyUI-cpu is a fork that removes all CUDA/GPU dependencies. Its README states it's "a trimmed down version of ComfyUI that uses the cpu only" for "cpu only web server, laptop with no gpu, older PCs, weak onboard gpus."
Installation (from the fork's README)
git clone https://github.com/ArdeniusAI/ComfyUI-cpu.git
cd ComfyUI-cpu
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
python3 main.py --cpu --cpu-vae --auto-launch
The --cpu and --cpu-vae flags route inference through PyTorch CPU tensors instead of CUDA kernels. A Docker image is also available: ardenius/comfyui-cpu.
What to Expect
The fork provides no benchmark data. Community reports describe CPU-only generation as "extremely slow" with occasional crashes on complex workflows. For SD 1.5 with LCM LoRA (67.5M parameters, ~135 MB at fp16), expect minutes per image. Video generation and large models are impractical.
When CPU-Only Makes Sense
- Learning ComfyUI's node system
- Testing workflow logic before GPU deployment
- Lightweight SD 1.5 pipelines where turnaround time doesn't matter
It does not work for video generation, large models, or any workflow requiring real-time iteration.
Key Technologies That Affect Your Benchmark
SageAttention
SageAttention (GitHub) fuses query, key, and value projections into a single CUDA kernel, reducing memory reads/writes on Hopper (SM90) and Blackwell (SM100) GPUs. The Civitai benchmark ran "CUDA 12.8 and SageAttention enabled" (source) — CUDA 12.8 is the minimum version supporting Blackwell. If you're benchmarking on RTX 5090 (Blackwell), you need CUDA 12.8+ and SageAttention to match the source's conditions.
LCM LoRA Reduces Steps
The Latent Consistency Model LoRA is a distilled adapter for SD 1.5. The model card states it "allows to reduce the number of inference steps to only between 2 - 8 steps" versus the typical 20–50. At 67.5M parameters and ~135 MB (model card), it fits any VRAM budget. In ComfyUI, swap the sgm-uniform scheduler for the LCM scheduler to enable this.
Blockswap Extends VRAM
For large models that exceed GPU VRAM, blockswap keeps the active expert block in GPU memory while streaming the next block from system RAM. The source tested only GPUs that could load the full model without blockswap: "With blockswap, you can use slower GPU's" (source). If your GPU can't fit the entire model, you'll need blockswap — but it adds latency.
GIMM-VFI Interpolation
GIMM generates intermediate frames between keyframes. The Civitai benchmark used "32fps GIMM interpolation" as post-processing (source): the video model generates at a lower native frame rate, GIMM synthesizes the missing frames to reach 32fps output.
Common Errors and Fixes
| Symptom | Cause | Fix |
|---|---|---|
| Budget based on $0.89/hr for RTX 5090 | Source used Nov 2025 pricing (source) | Check RunPod pricing before budgeting |
| L40S budget using $0.86/hr | L40S not on current RunPod pricing | Verify GPU availability on live pricing page |
| "SD 1.5 LCM model 2.1 GB" confusion | 2.1 GB likely refers to full SD 1.5 checkpoint, not the ~135 MB LoRA | The LCM LoRA weights are ~135 MB |
| Benchmarking at wrong resolution | VRAM allocation patterns differ by resolution | Test exactly your production resolution |
FAQ
How do I measure iterations per second in ComfyUI?
Fix the seed, resolution, and step count. Time from first denoise step to final decode. Run each config at least 3× and average. Exclude model loading time. See the measurement table above for the full parameter list.
What is the cheapest GPU for ComfyUI on RunPod?
Check RunPod's pricing page for current rates — multiple tiers are listed there, with the L4 typically the lowest per-hour cost.
Can I run ComfyUI without any GPU?
Yes. ComfyUI-cpu removes CUDA dependencies and runs on CPU via PyTorch CPU tensors. Launch with --cpu --cpu-vae. Expect minutes per image. Works for SD 1.5 with LCM LoRA; not practical for video or large models.
How does SageAttention speed up ComfyUI?
Fuses attention computation into one CUDA kernel (GitHub), reducing memory reads/writes. Targets Hopper and Blackwell; requires CUDA 12.8+ for Blackwell.
What is blockswap and when do I need it?
Offloads model layers between GPU VRAM and system RAM during inference. Needed when a model exceeds your GPU's VRAM. Adds latency but enables otherwise impossible workloads.
How many steps does LCM LoRA need?
Model card states 2–8 steps. Most workflows use 4 as the sweet spot. Fewer steps = faster but visible quality loss; more steps = approach standard diffusion quality but lose speed advantage.
Should I rent H100 SXM or RTX 5090 for video?
H100 SXM: $2.69/hr, ~56 videos/hr (source). RTX 5090: $0.99/hr, ~39 videos/hr (source). H100 is ~43% faster but ~2.7× costlier per hour. Choose RTX 5090 for cost efficiency, H100 when time is the binding constraint.
Sources
| Source | Contribution | URL |
|---|---|---|
| RunPod Pricing Page | Current GPU rental prices (RTX 5090 $0.99/hr, H100 SXM $2.69/hr) | https://www.runpod.io/pricing |
| ArdeniusAI/ComfyUI-cpu | CPU-only fork docs, install instructions, launch flags (--cpu --cpu-vae) | https://github.com/ArdeniusAI/ComfyUI-cpu |
| LCM LoRA SDv1.5 Model Card | Parameter count (67.5M), step reduction (2–8), fp16 file size (~135 MB) | https://huggingface.co/latent-consistency/lcm-lora-sdv1-5 |
| SD 1.5 Base Model | Base model identifier for LCM LoRA adapter | https://huggingface.co/runwayml/stable-diffusion-v1-5 |
| ComfyUI Official README | CPU mode flags, LCM support, system requirements | https://github.com/comfyanonymous/ComfyUI |
Read more: ComfyUI Workflow Optimization Compare GPU Options for AI Workloads Set Up Production ComfyUI Deployments