Skip to main content

How to run DeepSeek-R1 32B on Arc B580

Exact commands, expected tok/s, VRAM math for this specific combination.

Arc B580 has 12 GB of GDDR6. DeepSeek-R1 32B at q4KM wants ~19 GB of it for weights alone, plus another 2-3 GB of KV cache at 4K context. Verdict

How to run DeepSeek-R1 32B on Arc B580

Which models fit on an Arc B580?

Dense 30-35B models need about 19.9 GB for their Q4 weights; on the Arc B580, the weights do not fit, so the remaining layers run on the CPU from system RAM and system-RAM bandwidth sets the speed. That is the Q4 figure. A 3-bit quant of the same model is about a fifth smaller and can fit where Q4 does not, so for the model and quant this article covers, its own figures decide. Arc B580 carries 12 GB of VRAM. The weights column is the range of real Q4_K_M files on Hugging Face for the models in each size class (about 0.6 GB per billion parameters), and the runtime plus a usable context window wants about 2 GB on top; every tokens-per-second figure is a median over community-reported Q4 runs SpecPicks tracks for this card, with the run count and the source beside it.

Showing the model sizes this article covers and the band either side. Every size from 3B to 70B+, for every card SpecPicks tracks, is in the local-LLM GPU table.

Model size Weights at Q4 Fits in 12 GB? Measured Left for context Source
20-27B (Gemma 3 27B, Mistral Small)A 27B Q4_K_M file (about 16.7 GB) is more than a 16 GB card holds, so 16 GB means a Q3 quant or partial CPU offload; a 24B loads with a short context. 20 GB holds the class with a usable context window, 24 GB with a long one. 14.3–16.7 GB Nospills to system RAM — system-RAM bandwidth sets the speed — none —
30-35B (Qwen 3 32B, QwQ 32B)The step change. A 24 GB card holds this entirely in VRAM; below that it is CPU offload. about 19.9 GB Nospills to system RAM — system-RAM bandwidth sets the speed — none —
70B+ (Llama 3.3 70B, Qwen 2.5 72B)One 48 GB card or two 24 GB cards. A 32 GB card runs it only with layers in system RAM. about 42.5 GB Nospills to system RAM — system-RAM bandwidth sets the speed — none —

Every Arc B580 benchmark run, with its source → GPU picks for local LLM — the same table across every card we track How we source these numbers

This tutorial walks you through running DeepSeek-R1 32B on an Arc B580. Exact commands, expected tokens-per-second, and the tradeoffs you should know before starting.

Does it fit?

Arc B580 has 12 GB of GDDR6. DeepSeek-R1 32B at q4_K_M wants ~19 GB of it for weights alone, plus another 2-3 GB of KV cache at 4K context.

Verdict: ⚠️ Tight fit. You'll need CPU offload (llama.cpp with 5 layers on CPU) or drop to q3_K_S. Expect 15-25 tok/s with offload.

Install Ollama (the easy path)

bash
# macOS/Linux
curl -fsSL https://ollama.com/install.sh | sh
ollama pull deepseek-r1:32b
ollama run deepseek-r1:32b

Ollama handles GPU detection automatically on NVIDIA (via CUDA), AMD (via ROCm on Linux), and Apple Silicon (via Metal). For Intel Arc B580, upstream Ollama support uses llama.cpp's SYCL backend and may require a SYCL-enabled build or the IPEX-LLM fork of Ollama — confirm the Arc is detected at startup before assuming it offloaded.

Install llama.cpp (more control)

llama.cpp gives you flag-level control over quantization, context length, and layer offload. Build from source:

bash
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make -j

# Download a quantized GGUF (community favorite: bartowski or TheBloke on HuggingFace)
./llama-cli -m ~/models/deepseek-r1-32b-q4_k_m.gguf \
 -n 512 -c 4096 \
 -ngl 10 \
 -p "Write a haiku about GPUs"

With 12GB VRAM, offload ~10 layers; the rest stays on CPU. Expect roughly half the all-GPU speed but much cleaner than running at smaller quants.

Expected performance

  • Community reports from LocalLLaMA suggest ~10-25 tok/s on this class of hardware.

If you need more speed, bigger VRAM is the answer. Consider upgrading to a card with more headroom →.

Common issues

"out of memory" on the first prompt: reduce context length (-c 2048) or quantization (q4_K_S instead of q4_K_M).

Slow first token but fast generation: that's prompt processing ("prefill"). Normal — blame the KV cache building. Subsequent messages in the same session will be snappy.

Frequent swapping / system hangs: VRAM is full AND system RAM is full. Close Chrome. Add more DDR5.


Arc B580 specs: 12GB memory, 190W TDP, 2024 launch. MSRP $249.

Does it fit? Full quantization matrix

Weight-only VRAM for DeepSeek-R1 32B at every common quant, plus the KV-cache overhead for a 4K-token context. KV cache scales linearly with context — see the context-length table further down.

QuantWeights+ KV @ 4K ctxTotalFits on this GPU?Quality loss
q2_K_S9.6 GB2.6 GB12.2 GB❌Severe (15-25%)
q3_K_M14.4 GB2.6 GB17.0 GB❌Noticeable (5-8%)
q4_K_M19.2 GB2.6 GB21.8 GB❌Minimal (1-3%) — community default
q5_K_M22.4 GB2.6 GB25.0 GB❌<1%
q6_K25.6 GB2.6 GB28.2 GB❌Effectively lossless
q8_035.2 GB2.6 GB37.8 GB❌Inference-lossless
fp1664.0 GB2.6 GB66.6 GB❌Baseline (original precision)

Values are approximate — actual footprint depends on batch size, whether the KV cache is quantized (-ctk q8_0 -ctv q8_0 in llama.cpp halves it), and whether you reserve VRAM for a display. Rule of thumb: budget 5-10% headroom on top of the table.

How public benchmarks show and compared

Every tok/s, FPS, and synthetic score in this article is pulled live from the SpecPicks benchmark catalog (hardware_specs, ai_benchmarks, synthetic_benchmarks). We cite the source_name on each row — the vast majority are community-reported numbers from r/LocalLLaMA and llama.cpp GitHub Discussions, with synthetic scores from PassMark, Phoronix, and Tom's Hardware's GPU hierarchy.

Where DB rows exist for a specific model+quant+GPU combination, we quote the number exactly. Where they don't, we fall back to published spec-sheet values (VRAM capacity, TDP, memory bandwidth) plus the closest community-verified ballpark — clearly flagged as a ballpark, not a measurement. We prefer "we don't know" over a fabricated number.

SpecPicks does not run paid hardware review cycles; we aggregate. If you see a number you can improve on, pull-request the row.

Measured tok/s on this GPU

Live data from ai_benchmarks for Arc B580, filtered to the DeepSeek-R1 32B family where available:

ModelQuantRuntimeGen tok/sVRAM usedSource
No direct matches in the DB yet — see community thread below

For the full tok/s matrix on this card across every model we've logged, see the Arc B580 benchmark page.

Context length and VRAM — the hidden cost

KV cache grows linearly with context. Here's the approximate overhead on top of 19.2 GB of q4_K_M weights for DeepSeek-R1 32B:

ContextKV cacheTotal VRAM
2K tokens~1.3 GB~20.5 GB
4K tokens~2.6 GB~21.8 GB
8K tokens~5.1 GB~24.3 GB
32K tokens~20.5 GB~39.7 GB
128K tokens~81.9 GB~101.1 GB

For long-context workloads (32K and beyond) on consumer hardware, use llama.cpp's KV-cache quantization — -ctk q8_0 -ctv q8_0 roughly halves cache footprint with sub-1% quality loss. This is the single biggest VRAM-saving flag for long context.

Which runtime wins on this hardware?

Three mainstream runtimes target Arc B580; the right one depends on your workload:

  • Ollama — easiest. Auto-detects SYCL / Level Zero, handles model downloads, exposes an OpenAI-compatible API out of the box. Wraps llama.cpp; you give up fine-grained control for zero setup.
  • llama.cpp — direct flag-level control over quant, context, KV-cache precision, batch size, split layers across GPUs. Where the LocalLLaMA community benchmarks its numbers (see the Apple-Silicon megathread #4167 for reference tok/s across M-series chips).
  • vLLM — built for production serving. Tensor parallelism, PagedAttention, continuous batching. Limited support on this platform — Ollama/llama.cpp are safer bets. If you're not serving multiple concurrent users, the overhead isn't worth it.

For head-to-head numbers and install commands across all three, see our Ollama vs llama.cpp vs vLLM guide.

Troubleshooting — three failure modes and fixes

1. First token takes 5-30 seconds, then generation is fast. That's normal prefill: the model is processing your prompt before it can start generating. On a long prompt (4K+ tokens) prefill dominates the first-token latency. If it's unexpectedly slow, check that you actually offloaded layers to the GPU — intel_gpu_top or xpu-smi should show near-100% utilisation during prefill. If utilisation is flat, your inference is running on CPU.

2. "Out of memory" halfway through a long chat. The KV cache grew past what the card can hold. Drop to a smaller quant (q4_K_M → q3_K_M), cut -c context length, or enable KV-cache quantization (-ctk q8_0 -ctv q8_0 in llama.cpp). On Ollama set num_ctx smaller in your Modelfile.

3. Tok/s is ~30% of what LocalLLaMA threads report. Three usual suspects: (a) power/thermal throttling — check sustained clocks during a long prompt; (b) PCIe x8 or x4 link when you expected x16 — lspci -vv | grep -i 'LnkSta:' for the Arc device; (c) running the wrong binary, e.g. a CPU-only llama.cpp build on the Arc. Rebuild with GGML_SYCL=1 (oneAPI) or GGML_VULKAN=1 and confirm SYCL/Vulkan devices are listed at startup.

Sources

  1. r/LocalLLaMA (community tok/s threads)
  2. llama.cpp GitHub Discussions #4167 — Apple Silicon benchmark thread
  3. Tom's Hardware GPU Hierarchy

Small-model (7–9B) reference throughput

These figures are for 7–9B models, not the 30–35B models this article covers. The table holds model size fixed so the cards can be compared with each other; for the size in the title, use the article's own figures.

Median generation throughput at 7–9B models (Llama 3.1 8B, Qwen 3 8B), Q4 quantization, from community-reported runs SpecPicks tracks. Each row pools runs from different sources, runtimes and models in that class, so the rows are not a matched head-to-head; where the article compares cards on the same rig, its own figures are the like-for-like result. Street price is the second-lowest listing priced within the last 24 hours at 0.5–2× launch MSRP, so no single listing sets it, and a street figure well above MSRP says so in its cell; where too few listings pass that check the row shows launch MSRP instead. Rows marked for comparison are not the cards this article is about — they are included so the throughput column has something to be read against.

GPUVRAM Llama-3-8B class, Q4Street price Sources
Arc B580 12 GB 41 tok/s11 runs · 9 sources $249MSRP SpecPicks median of 11 runs; sources: Compute Market, llama.cpp GitHub Discussions, dev.to, InsiderLLM +5 more
GeForce RTX 4070 SUPERfor comparison 12 GB 57.8 tok/s12 runs · 6 sources $969street, all listings · 1.6× the $599 launch MSRP SpecPicks median of 12 runs; sources: Hardware Corner, llmrun.dev, LocalScore.ai, llama.cpp GitHub Discussions +2 more
NVIDIA GeForce RTX 3060 12 GBfor comparison 12 GB 55 tok/s23 runs · 9 sources $329MSRP SpecPicks median of 23 runs; sources: TYO Lab blog, Hardware Corner, llama.cpp GitHub (CUDA performanc…, Ajit Singh / Hardware-Corner +5 more

Hardware this article mentions

Amazon listings for the hardware named in this article. Tap any card for full specs, alternatives, and eBay listings.

As an Amazon Associate, SpecPicks earns from qualifying purchases; we also earn on qualifying eBay purchases via the eBay Partner Network. Prices shown were last tracked at crawl time and may vary — check the listing for the current price.

Watch a review

GIGABYTE RTX 3060 GAMING OC Review — Vortez on YouTube

Frequently asked questions

What are the performance expectations for running DeepSeek-R1 32B on Arc B580?
Community benchmarks suggest 10-25 tokens per second on the Arc B580, depending on the quantization level and whether CPU offloading is used. Performance can vary based on context length, layer offload configuration, and VRAM utilization. For optimal results, ensure proper quantization and layer distribution between GPU and CPU.
What are the common issues when running DeepSeek-R1 32B on Arc B580?
Common issues include 'out of memory' errors, slow first-token generation due to prefill processing, and frequent system swapping. These can be mitigated by reducing context length, using lower quantization levels, enabling KV-cache quantization, or ensuring sufficient system resources like VRAM and RAM.
How does context length affect VRAM usage for DeepSeek-R1 32B?
VRAM usage increases linearly with context length due to the KV cache. For example, a 4K-token context adds ~2.6 GB to the 19.2 GB required for q4_K_M weights, totaling ~21.8 GB. Longer contexts, such as 32K or 128K tokens, can significantly exceed the Arc B580's 12 GB VRAM capacity.
What are the advantages of using llama.cpp over Ollama for this setup?
llama.cpp offers fine-grained control over quantization, context length, KV-cache precision, and layer offloading. This allows users to optimize performance and memory usage for specific workloads. In contrast, Ollama simplifies setup and GPU detection but sacrifices some configurability.
Can the Arc B580 handle DeepSeek-R1 32B at higher quantization levels like q6_K or fp16?
No, the Arc B580's 12 GB VRAM is insufficient for higher quantization levels like q6_K or fp16, which require 28.2 GB and 66.6 GB respectively. These configurations exceed the card's capacity, making them unsuitable without significant CPU offloading or multi-GPU setups.

— Mike Perry · Updated 2026-09-26