Local LLMs on Intel Arc: a 27B coding agent on one Arc Pro B60 24GB

llama.cpp on Vulkan with Intel's flash-attention prefill kernel and a speculative draft model. Claude Code and Codex run fully local on a 24GB Intel Arc card. Raw logs, versions and caveats are published; the few figures without a log are marked.

42.3 tok/seval-suite throughput (wall-clock, prompt processing included) with the DFlash2 draft model; per-request decode 47–58 tok/s, mean 53.3 (16.0 without a drafter, llama-bench tg32)
420 tok/sreading new input at 32K context, up from 118 on stock llama.cpp (3.6×)
201 s† → 55–57 sthree agent turns at 30–37K context
up to 64Kcontext window (57–61K typical while the PC is in use)

‡ 42.3 tok/s is eval-suite throughput: generated tokens divided by total wall-clock across the 8 eval requests (7 coding tasks and 1 web page), prompt processing and HTTP included. The per-request server decode speeds in the same run average 53.3 tok/s (range 47–58). We quote 42.3 as the conservative headline. 16.0 tok/s is llama-bench tg32 with no drafter, a different measurement. All speed figures are single runs unless noted.
† Observed before logging was in place; the raw log was not retained and a re-run is planned. 55–57 s: 54.9 s on the first Intel FA build, 56.7 s on the final tuned configuration (57,344 context). 64K is the configured maximum; the logged runs loaded 61,440 and 57,344 tokens.

The results in text

One Intel Arc Pro B60 24GB, Qwen3.8-27B Q4_K_M, llama.cpp on Vulkan (upstream b11524 plus Intel's two FA prefill commits). Versions and flags: README, Versions used.

MeasureStock llama.cpp Vulkanarc-llm-labRaw data
Generation speed16.0 tok/s ‡ (no draft model, llama-bench tg32)42.3 tok/s (DFlash2 draft model, n=7; eval-suite throughput, wall-clock, prompt processing included; per-request decode 47–58, mean 53.3) ‡tune.txt, compare-f16.txt
Prompt reading at 32K context118 tok/s420 tok/s (f16 KV cache only)compare-f16.txt
3 agent turns at 30–37K201 s†55–57 sserver-test.txt, bench-history.csv
100-task hidden-checker agent eval, 32K windown/a97/100 (Claude Code @32K, single run, 95% CI 91.5–99%), 1.54 completed tasks/minRELIABILITY.md

Which Intel Arc card, and which model fits?

Only the Arc Pro B60 row is measured. The rest are specifications and arithmetic: “fits” is an ESTIMATE for a 16.46 GB Qwen3.8-27B Q4_K_M weights file plus its drafter, buffers and a 32K f16 KV cache (about 2 GiB), roughly 21 GB in all. Rule of thumb for other models: the GGUF file should be no larger than your VRAM minus about 3 GiB.

CardVRAMBandwidthAU price (dated)27B Q4 + 32K context fits?Measured
Arc B57010 GB380 GB/sno sourced priceno (ESTIMATE)not measured
Arc B58012 GB456 GB/sA$419 (2026-10-07)no (ESTIMATE)not measured
Arc Pro B5016 GB224 GB/sno sourced priceno (ESTIMATE)not measured
Arc A770 16GB16 GB560 GB/sA$540 (2026-09-30)no (ESTIMATE)not measured
Arc Pro B6024 GB456 GB/sA$1240 (2026-10-07)yes (measured)16.0 tok/s, 42.3 with the draft model
Arc Pro B7032 GB608 GB/sno sourced priceyes (ESTIMATE)not measured

Specs are from the sources named in gpu-comparison-notes.md; prices are Australian street prices on the stated dates. A passive B60 listing (A$999 including GST, PCCaseGear, 2026-10-10) needs strong case airflow.

See the difference

The same code, replayed at two measured generation speeds on the same card and model. 16.0 tok/s is llama-bench tg32 with no draft model; 42.3 tok/s is eval-suite throughput (generated tokens over total wall-clock, prompt processing included) with the DFlash2 draft model; per-request decode ran 47 to 58 tok/s, mean 53.3.

No draft model, 16.0 tok/s

With DFlash2 draft model, 42.3 tok/s

Long context: the Intel FA kernel, with f16 KV only

Prompt processing speed (llama-bench pp2048) as the conversation grows. Hover or tab to a point for values.

Swipe sideways to see the whole chart.

Data table and source

Raw: compare-f16.txt, compare-q4.txt

Speculative decoding: the biggest win for generation speed

DFlash2 draft model at different draft lengths. Every setting kept 7/7 coding and 3/3 tool-call quality. n=15 left 0.96 GiB of VRAM free and fell to 27 tok/s (cause not isolated).

Swipe sideways to see the whole chart.

Data table and source

Raw: tune.txt

Compared with other cards

First: price against VRAM, using Australian street prices from the sources shown (cards without a reliable AUD price aren't plotted). Second: each card's no-drafter generation ceiling (memory bandwidth ÷ 16.46 GB of weights), an estimate, against what the B60 actually measured.

Swipe sideways to see the whole chart.

Swipe sideways to see the whole chart.

Data table, method and sources

Method: gpu-comparison-notes.md. Spec sources are named per card in the CSV (mostly the TechPowerUp GPU database).

Community results

Numbers from real Intel GPUs, measured with llama-bench by one script. Self-reported unless the notes say otherwise. Add your card or see what we most want to see.

GPUBackend / buildPatchesModelDepthspp (tok/s)tg (tok/s)Driver / OSBy
Intel Arc Pro B60 24GB logVulkan b11524 (86a283532)noneQwen3.8-27B-UD-Q4_K_M.gguf (KV f16/f16)empty / 16K / 32K589 / 198 / 11816.01 / 15.14 / 14.4532.0.101.8976, Windows 11Elie Dagher
Intel Arc Pro B60 24GB logVulkan b11526 (c85e6c598)2Qwen3.8-27B-UD-Q4_K_M.gguf (KV f16/f16)empty / 16K / 32K653 / 513 / 42016.05 / 15.20 / 14.4632.0.101.8976, Windows 11Elie Dagher

pp is prompt processing of 2048 tokens and tg is generation of 32 tokens, in tokens per second, at the stated context depths. No speculative decoding. Full table with notes: COMMUNITY-RESULTS.md.

Where 24GB goes at 64K context

23.88 GiB usable. This is the budget for a 64K load; the logged runs loaded 61,440 and 57,344 tokens. The governor aims to keep 1.35 GiB or more free as a precaution.

Swipe sideways to see the whole chart.

Reliability: 100 real agent tasks

Coding, debugging, tool use, file operations, long-context retrieval, business maths and error recovery, each scored by hidden checkers. The headline metric is completed tasks per minute.

Swipe sideways to see the whole chart.