As an Amazon Associate, SpecPicks earns from qualifying purchases. See our review methodology.
Best Parts for a ComfyUI + Local LLM Workstation in 2026
By Mike Perry · Published 2026-09-18 · Last verified 2026-09-18 · 13 min read
Most parts guides for local AI assume the machine does one job. One kind of guide sizes a GPU for Stable Diffusion, and the other sizes a GPU for a chat model. What readers of both actually end up with is one box running both, often at the same time. A ComfyUI queue renders in the background while a chat model answers questions in the browser.
That dual workload changes the parts list, because both programs want the whole framebuffer. ComfyUI loads a diffusion model, its text encoders and a VAE into VRAM. An LLM server loads its weights plus a context cache that grows with every turn. On a 12 GB card, the arithmetic in the Quick Answer means both can't stay resident at full size. Something has to give way, and the build is about deciding what gives way and making that cheap.
The fixes are mostly cheap. You can keep the desktop off the graphics card entirely. You can give the system enough RAM that unloading a model costs seconds, not a trip to disk. You can put model files on storage that reloads them fast enough not to annoy you. And you can choose a GPU whose 12 GB is real. None of these parts is exotic, and every pick below is a mainstream AM4-era component.
This guide covers six parts, with every performance figure attributed to a public source. The winner isn't the fastest card available. It's the card that makes the memory arithmetic work at a price most readers of this site will actually pay.
Step 0: budget your VRAM before you budget your money
Here's what each workload keeps resident, taken from published file sizes plus the KV-cache arithmetic from each model's config:
| Workload component | Size on card | Source |
|---|---|---|
| SDXL base 1.0 checkpoint (UNet + text encoders + VAE, fp16) | 6.94 GB | Stability AI |
| FLUX.1-schnell, GGUF Q4_K_S (transformer only) | 6.78 GB | city96 GGUF |
| FLUX.1-schnell, GGUF Q8_0 (transformer only) | 12.69 GB | city96 GGUF |
| FLUX.1-schnell, fp8 all-in-one checkpoint | 17.24 GB | Comfy-Org |
| Qwen3 8B, Q4_K_M weights | 5.03 GB | Qwen |
| Qwen3 8B KV cache at 8k context (fp16) | ~1.21 GB | 36 layers × 8 KV heads × 128 dims, per Qwen3-8B config |
| Qwen3 4B, Q4_K_M weights | 2.50 GB | Qwen |
SDXL plus Qwen3 8B at 8k context comes to about 13.2 GB, before counting ComfyUI's working buffers or anything the desktop holds. That's more than 12 GB. SDXL plus Qwen3 4B at the same context comes to about 10.7 GB, which fits with little room to spare.
There are three ways to handle it:
- Unload between jobs. Ollama keeps a model in memory for 5 minutes after the last request by default, per its FAQ. A
keep_aliveof 0, orollama stop, frees it at once. ComfyUI already unloads models "to CPU memory after being used" by default, per its command-line options. Only one workload holds the card at a time, and the other reloads from system RAM. - Split across two cards. Run one workload per GPU. This needs the slots, the lanes and the power budget, and most mid-range AM4 boards have only one full-length slot.
- Shrink the chat model. Drop to a 4B model, or cap the context, and both stay resident.
Most readers should start with strategy 1 and fall back on strategy 3. Both need the same thing from the hardware: fast reloads, which come from RAM and storage rather than from the GPU.
Comparison table
| Pick | Best For | Key Spec | Price Range | Verdict |
|---|---|---|---|---|
| MSI Gaming GeForce RTX 3060 12GB | Best overall | 12 GB GDDR6, 192-bit, 170 W | Launched at $329; check live price | Cheapest card whose 12 GB holds either workload whole |
| ZOTAC Gaming RTX 3060 Twin Edge OC 12GB | Best value | Same 12 GB GA106 in a compact two-fan cooler | Check live price | Same capability, smaller card |
| AMD Ryzen 5 5600G | Single-socket simplicity | 6C/12T, 7-CU Radeon iGPU, 65 W | Launched at $259; check live price | Drives the monitors so the card keeps its VRAM |
| AMD Ryzen 7 5800X | Best performance | 8C/16T, 32 MB L3, PCIe 4.0, 105 W | Launched at $449; check live price | Faster CPU nodes and prefill; needs a discrete display path |
| Crucial BX500 1TB | Budget storage | SATA, up to 540 MB/s | Check live price | Holds the checkpoint library; reloads fast enough |
| Noctua NH-U12S | Supporting part | Single-tower air cooler | Check live price | Quiet cooling for overnight queues |
Launch prices come from Wikipedia's RTX 30 series and Ryzen tables. Most of these parts now sell below launch price, and street prices change daily, so check the live listing before you buy.
🏆 Best Overall: MSI Gaming GeForce RTX 3060 12GB
12 GB GDDR6 · 192-bit · 360 GB/s · 170 W · PCIe 4.0
The MSI Gaming GeForce RTX 3060 12GB is the cheapest current-driver card whose memory holds either workload whole. NVIDIA's RTX 3060 family page lists 12 GB of GDDR6 on a 192-bit interface at 170 W graphics card power. Wikipedia's RTX 30 table puts its bandwidth at 360 GB/s.
For image generation, community benchmarks compiled by SynpixCloud put SDXL at 1024×1024 at 15-25 seconds per image on this card. For context, a 3060 Ti log in the ComfyUI benchmark thread shows 20 SDXL steps at 2.05 it/s and a 13.29-second prompt, a useful upper bound because the Ti is the faster chip. For chat, Hardware Corner measures Qwen3 8B at 55.2 tok/s at 4k context and Qwen3 14B at 31.2 tok/s. Both are faster than you can read.
Pros
- 12 GB holds SDXL at fp16 or a Q4 Flux transformer with room left for LoRAs.
- 55.2 tok/s on Qwen3 8B is comfortable for interactive chat (Hardware Corner).
- Its 550 W required system power (NVIDIA) fits ordinary PSUs.
- CUDA support in ComfyUI and llama.cpp is first-class, with no special builds.
Cons
- It's a mid-range chip. SynpixCloud's same comparison has an RTX 4060 Ti 16GB rendering SDXL "40-60% faster" at 10-15 seconds per image.
- 12 GB still can't hold Flux at Q8 alongside a chat model.
- An 8 GB RTX 3060 on a 128-bit bus also exists (NVIDIA). Check that the listing says 12GB.
Prices shown on SpecPicks may vary; the retailer's price at checkout is the one that counts. See full details →
💰 Best Value: ZOTAC Gaming GeForce RTX 3060 Twin Edge OC 12GB
12 GB GDDR6 · 192-bit · compact two-fan cooler · fan-stop at idle
The ZOTAC Gaming RTX 3060 Twin Edge OC 12GB uses the same GA106 chip with the same 12 GB and the same 192-bit bus, so every throughput figure in the MSI section applies to it too. It differs in the cooler and the price. ZOTAC's listing describes IceStorm 2.0 cooling with "Freeze Fan Stop", so the fans park when the card is idle. That matters on a box that spends most of the day waiting for the next prompt.
Long diffusion queues are the thermal test for any card here, because they hold the GPU at full load for minutes or hours rather than seconds. NVIDIA rates the RTX 3060's maximum GPU temperature at 93 °C (NVIDIA). A compact two-fan cooler will reach its steady state sooner than a larger triple-fan design, so give it a case with a clear intake path, not a cramped slot next to the PSU shroud.
Pros
- Identical memory configuration to the Best Overall pick.
- Its shorter card length fits more cases.
- The fans stop at idle, which suits an always-on box.
Cons
- A smaller heatsink runs louder under long render queues.
- The same 8 GB-variant caution applies when you buy used.
Prices shown on SpecPicks may vary. See full details →
🎯 Best for Single-Socket Simplicity: AMD Ryzen 5 5600G
6 cores / 12 threads · Radeon Graphics, 7 cores at 1900 MHz · 65 W · 16 MB L3 · PCIe 3.0
The AMD Ryzen 5 5600G earns its place in this build through its integrated graphics, not its CPU cores. AMD's spec page lists a seven-core Radeon iGPU at 1900 MHz. Plug the monitors into the motherboard, and the desktop compositor, browser video decode and any accelerated UI all run on the APU instead of the RTX 3060. Every megabyte they would have held goes back to the models.
That's the cheapest VRAM available. On a 12 GB card juggling SDXL and a chat model, reclaiming what the desktop would have held can decide whether both models stay resident or one has to unload between jobs.
The trade-off is PCIe 3.0 (AMD) instead of the 3060's native 4.0. For LLM inference this costs almost nothing once weights are loaded. One RTX 3060 generated 55.02 tok/s on an x1 riser and 57.01 tok/s at x16 on an 8B model (gist). It mostly affects model load and swap time, which the RAM cache below takes care of.
Pros
- Its iGPU display output gives the discrete card its full 12 GB.
- 65 W TDP (AMD) keeps idle draw and cooler demands low.
- It boots and runs with no GPU installed, which helps when troubleshooting.
Cons
- PCIe 3.0 slightly slows model swaps over the bus.
- Its six cores are slower than a 5800X for CPU-side ComfyUI nodes and prompt processing on offloaded layers.
Prices shown on SpecPicks may vary. See full details →
⚡ Best Performance: AMD Ryzen 7 5800X
8 cores / 16 threads · 32 MB L3 · 105 W · PCIe 4.0 · no cooler in box
The AMD Ryzen 7 5800X is the pick when the CPU does real work in the pipeline. AMD's spec page lists eight cores, 32 MB of L3 and PCIe 4.0, twice the 5600G's 16 MB of cache. That helps in three places:
- Text encoders on the CPU. ComfyUI's
--lowvramflag "makes the text encoders run on the CPU" (ComfyUI options), which frees VRAM at the cost of CPU time. - Prompt processing on offloaded layers. Prefill is compute-bound, so two extra cores help.
- Everything else in the queue: image upscaling, preprocessing, and the Python overhead of a large graph.
Be realistic about generation, though. When LLM layers spill to system RAM, speed is set by memory bandwidth, not core count. Johannes Gäßler's llama.cpp notes found that "just 5 threads are enough to fully utilize the memory bandwidth provided by dual channel memory" (Gäßler). The 5800X won't make an offloaded 14B model generate faster than a 5600G does.
Pros
- Eight cores and 32 MB of L3 (AMD) keep a busy ComfyUI queue fed.
- Native PCIe 4.0 matches the RTX 3060.
Cons
- There's no integrated graphics, so the RTX 3060 must drive the display and give up some VRAM to it.
- 105 W TDP with "Thermal Solution (PIB): Not Included" (AMD) means budgeting for the cooler below.
Prices shown on SpecPicks may vary. See full details →
🧪 Budget Pick: Crucial BX500 1TB
1 TB SATA · up to 540 MB/s sequential read
Checkpoint and GGUF libraries outgrow a boot drive faster than anything else in this build. The files in the Step 0 table alone (SDXL at 6.94 GB, a Q8 Flux transformer at 12.69 GB, Qwen3 8B at 5.03 GB) come to about 25 GB before a single LoRA, ControlNet or second checkpoint. A dedicated 1 TB model drive ends the juggling.
The Crucial BX500 1TB is a SATA drive, and its listing rates it at up to 540 MB/s. That's close to the 600 MB/s ceiling of SATA revision 3.0 (Wikipedia). At that rate a cold load of the 6.94 GB SDXL checkpoint takes about 13 seconds, and a 12.69 GB Flux Q8 transformer about 24 seconds. After the first load, the operating system's file cache serves repeat loads from RAM, which is why the 32 GB of RAM below matters more than the drive's speed.
Pros
- Cheap capacity for a growing model library.
- Its load times are acceptable for workloads that swap models a few times an hour.
Cons
- An NVMe drive is several times faster for frequent cold swaps between different checkpoints.
- As a DRAM-less value drive, it slows during sustained large writes, such as downloading a whole model family at once.
Prices shown on SpecPicks may vary. See full details →
Supporting part: Noctua NH-U12S
The Noctua NH-U12S is the cooler for the 5800X configuration. AMD ships that chip with no cooler and recommends a "premium air cooler" for its 105 W TDP (AMD). A single-tower air cooler suits a box that runs batch jobs overnight. It has no pump to fail, a single fan and heatsink, and it clears RAM slots better than a dual tower.
With the 5600G it's optional. The boxed Wraith Stealth is adequate for a 65 W part, but the Noctua will run quieter under a long render queue where the CPU handles text encoding.
Prices shown on SpecPicks may vary. See full details →
What to look for in a dual-workload AI workstation
VRAM headroom and the unload strategy
Pick the unload policy before you pick the parts. If you'll accept a few seconds' reload when switching from a render to a chat, 12 GB is enough for SDXL plus an 8B model. If both must stay resident, either cap the chat model at 4B or plan on 16 GB or more. ComfyUI's --reserve-vram flag sets aside memory "for use by your OS/other software" (ComfyUI options). That's how you stop it from claiming the space your LLM server needs.
System RAM as the offload buffer
Get 32 GB in dual channel. ComfyUI's default behavior is to move idle models to system RAM, and Ollama reloads from the OS file cache, so RAM is what makes unloading fast. On a 16 GB system, an SDXL checkpoint, an 8B model and the OS cache compete for the same memory, and swaps go back to disk.
PSU sizing above rated TDP
NVIDIA's minimum is 550 W for an RTX 3060 system (NVIDIA). Hardware Corner recommends "a minimum 650W quality PSU" for a single card. Diffusion batches and inference bursts load the card in sharp steps, so a quality 650 W unit is the better target.
Storage throughput for model loads
SATA is fine for a library you load a few times an hour, since it takes about 13 seconds for SDXL at 540 MB/s. If your workflow swaps among many checkpoints on every run, move the active set to NVMe.
Case airflow and slot clearance
A two-slot RTX 3060 in the top slot plus a tower cooler is the tightest spot in most mid-towers. Check cooler height against the case spec, and keep the GPU's intake unobstructed. The 93 °C limit (NVIDIA) is a ceiling, not a target.
Table: what fits on 12 GB at once
| Combination | Approx. resident size | Fits 12 GB together? | Recommended policy |
|---|---|---|---|
| SDXL + Qwen3 4B Q4_K_M, 8k ctx | ~10.7 GB | Yes, barely; keep the desktop on the iGPU | Both resident |
| SDXL + Qwen3 8B Q4_K_M, 8k ctx | ~13.2 GB | No | Unload the LLM when idle |
| Flux Q4_K_S + Qwen3 4B, 8k ctx | ~10.5 GB + text encoders | No once encoders load | Unload, or run encoders on the CPU |
| Flux Q8_0 + any LLM | 12.69 GB + LLM | No | One workload at a time |
Sizes are sums of the published file sizes in Step 0 plus fp16 KV cache. Real usage adds ComfyUI working buffers, which grow with resolution and batch size, so treat a combination within 1 GB of the limit as not fitting.
The most-missed step
Most readers size the build for the larger of the two workloads, not the sum. They buy a card that holds SDXL comfortably, install an LLM server with default settings, and find the chat model pushing the diffusion pipeline out of VRAM mid-queue, or the reverse. The default 5-minute keep-alive in Ollama means a model you asked one question keeps its memory while your render queue slows down.
The fix takes a few minutes. Set OLLAMA_KEEP_ALIVE to a value that matches how you actually switch between tasks, move the display to the APU if you have one, and decide up front which model is allowed to stay resident.
FAQ
Can 12 GB of VRAM really hold a diffusion pipeline and a chat model at once?
Only with a plan. SDXL's 6.94 GB checkpoint plus Qwen3 8B's 5.03 GB of Q4_K_M weights and an 8k context cache comes to about 13.2 GB, more than the card holds. You can let the LLM server unload when idle, which Ollama does after 5 minutes by default, or cap the chat model at 4B so the pair uses about 10.7 GB and stays resident. Both approaches work. Assuming the two will simply fit side by side doesn't.
Is it better to buy one 12 GB card or two cheaper cards?
For this workload, one card. Splitting a single diffusion pipeline across two GPUs is awkward, and most ComfyUI workflows don't do it well, while one larger framebuffer solves the contention problem directly. Two cards pay off only if you want each workload pinned to its own GPU and have the slots, PCIe lanes and power headroom for it. Most mid-range AM4 boards have one full-length slot, and many cases can't cool two cards.
How much system RAM should this build have?
Thirty-two gigabytes, in dual channel. System RAM is where ComfyUI parks idle models by default, where CPU-offloaded LLM layers live, and where the operating system caches the large checkpoint files both workloads read over and over. Sixteen gigabytes boots and runs, but checkpoint switches start spilling to disk, and a 13-second SATA reload on every swap is exactly the friction this build is meant to remove. Match the two sticks so both channels are populated.
Does using the Ryzen 5 5600G's iGPU for display output actually free up VRAM?
Yes, and it's one of the cheapest wins available here. With the monitors on the motherboard, the desktop compositor, browser video decode and any hardware-accelerated UI run on the APU's seven-core Radeon graphics, not the RTX 3060. Every megabyte they would have held goes back to the models. On a 12 GB card that reclaimed space can decide whether SDXL and a 4B chat model stay resident or trade places between jobs.
What PSU should I plan for?
NVIDIA lists 550 W as the required system power for an RTX 3060 build, and Hardware Corner recommends a quality 650 W unit for a single card. Plan on 650 W from a reputable brand. Diffusion batches and inference bursts load the card in sharp steps rather than smoothly, and an undersized supply on this kind of build usually shows up as sudden shutdowns mid-queue rather than gradual instability. A second GPU pushes the requirement to roughly 850 W or more.
Citations and sources
- Stability AI: stable-diffusion-xl-base-1.0 (accessed 2026-09-18)
- city96: FLUX.1-schnell GGUF (accessed 2026-09-18)
- Comfy-Org: flux1-schnell fp8 checkpoint (accessed 2026-09-18)
- Qwen: Qwen3-8B-GGUF and Qwen3-8B config (accessed 2026-09-18)
- Qwen: Qwen3-4B-GGUF (accessed 2026-09-18)
- Ollama FAQ (accessed 2026-09-18)
- ComfyUI command-line options (cli_args.py) (accessed 2026-09-18)
- NVIDIA: GeForce RTX 3060 family specifications (accessed 2026-09-18)
- Wikipedia: GeForce 30 series and List of AMD Ryzen processors (accessed 2026-09-18)
- SynpixCloud: Best 12GB VRAM GPUs for Stable Diffusion (2026) (accessed 2026-09-18)
- ComfyUI GPU benchmark discussion #2970 (accessed 2026-09-18)
- Hardware Corner: RTX 3060 12GB LLM benchmarks (accessed 2026-09-18)
- AMD: Ryzen 5 5600G specifications (accessed 2026-09-18)
- AMD: Ryzen 7 5800X specifications (accessed 2026-09-18)
- the-crypt-keeper: RTX 3060 x1 vs x16 results (accessed 2026-09-18)
- Johannes Gäßler: llama.cpp performance notes (accessed 2026-09-18)
- Wikipedia: SATA (accessed 2026-09-18)
This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.
Related guides
- Best budget local LLM PC parts (2026)
- ComfyUI on an RTX 3060 12GB: local image generation setup
- Gaming while running a local LLM: RTX 3060 12GB VRAM contention
- Which LLMs fit an RTX 3060 12GB
— Mike Perry · Last verified 2026-09-18
