Intel Arc Just Got Up to 2x Faster in llama.cpp — If You Run the Right Models (October 2026)

intel-arcllama-cppsyclgpulocal-llmperformance

TL;DR: A llama.cpp patch merged October 10, 2026 (PR #29809) roughly doubles decode speed on Intel Arc GPUs — but only for MXFP4 MoE models like gpt-oss-20b, and the full 2x lands on Battlemage cards. Alchemist (A770) gets +33–38% with a prompt-processing regression. Your everyday Q4_K_M dense model gained single digits.

Used Arc A770 16GBArc B580 12GBArc Pro B70 32GB
Price (Oct 2026)$300–$340 used$310–$330 new (MSRP $249)~$1,100–$1,300 (MSRP $949)
What the Oct patches give you+33–38% MoE decode, +4–5% Q8_0~+40% MoE decode (12GB forces partial offload)1.91x MoE decode: 55.8 → 106.6 tok/s on gpt-oss-20b
The catchpp1024+ regressed ~10% on MXFP4; Battlemage-only gates skip this cardCan’t hold gpt-oss-20b fully in 12GB, so no full 2xSYCL build required; Vulkan and Ollama see none of this

Honest take: If you already own an Arc card and run gpt-oss models, rebuild llama.cpp this weekend — it’s the biggest free speedup Arc has ever gotten. If you were deciding between Arc and a used RTX 3090, the 3090 is still 1.5x faster on the same model, but it now costs 4x what a used A770 does, and the gap just got meaningfully smaller.

A claim has been making the rounds this month: “LLMs became about twice as fast on Intel Arc without replacing the GPU.” We traced it, the same way we traced the AMD ROCm Q2_K “28x” claim in September. The short version: the 2x is real, it has a merge date (October 10, 2026) and a PR number (#29809), and it comes with three asterisks the viral framing leaves out — it’s one quantization format, it’s strongest on one GPU generation, and none of it reaches Ollama.

What actually merged: a wall of SYCL patches, not one magic commit

There is no single “Intel optimizations” PR. Between October 2 and October 18, 2026, the llama.cpp SYCL backend — the Intel-GPU path built on oneAPI — absorbed a dense run of merges, visible in the commit history for ggml/src/ggml-sycl:

MergedPRWhat it doesWho feels it
Oct 2#28985Stops oneDNN picking an 80x-slower reference matmulIntel iGPUs (Xe-LP) only — 85x prompt fix
Oct 2#29186Q8_0 ESIMD kernels + wide loadsAll Arc dGPUs, +4–7% decode
Oct 9#29375Q5_K multi-token matrix-vector pathBattlemage only, +12% with speculative decoding
Oct 10#29809MXFP4 MoE arithmetic decoding + weight reorderThe 2x. All Arc cards, biggest on Battlemage
Oct 17#30374Fixes a prompt-processing regression the reorder work introducedAnyone who built between Oct 10–16
Oct 18#30239Restores ESIMD kernels on the FFN pathCleanup after the same regression

That cadence — a performance push, a regression, two fixes within a week — is why the build you grab matters as much as the headline. More on that below.

The 2x itself: MXFP4 MoE decode (PR #29809)

The October 10 merge does two things for MXFP4-quantized Mixture-of-Experts weights — which in practice means the gpt-oss family, since gpt-oss-20b and gpt-oss-120b ship their expert layers in MXFP4 natively. First, it replaces table-based MXFP4 decoding with 32-bit integer arithmetic that produces bit-identical results. Second, it lazily reorders expert weights so the GPU can use aligned vector loads, with temporary reorder memory capped at 32 MiB.

The numbers, from the PR’s own llama-bench runs and reviewer verification:

CardModelDecode beforeDecode afterGain
Arc Pro B70 (32GB, Battlemage)gpt-oss-20b55.84 tok/s106.64 tok/s1.91x
2x Arc Pro B70gpt-oss-120b33.27 tok/s67.14 tok/s2.02x
Arc Pro B60 (24GB, Battlemage)gpt-oss-20b, FA on30.88 tok/s77.49 tok/s2.51x
Arc B570 (10GB, -ngl 16 partial offload)gpt-oss-20b24.54 tok/s34.56 tok/s+40.8%
Arc A770 (16GB, Alchemist)gpt-oss-20b——+33% (FA off) / +38% (FA on)

Perplexity is unchanged (14.5148 → 14.5129 on gpt-oss-20b, within noise), so this is a free lunch on quality. Prompt processing is a different story: the B60 gained 38–44% at pp1024/pp2048, the B70 was flat (~1%), and the A770 regressed 10–11% at pp1024 and pp2048 while gaining 7–15% on short prompts. If you run long contexts on Alchemist, you’re trading slower prefill for faster generation.

Two readings of that table matter for buyers. The B570 row shows what a 10–12GB card gets: gpt-oss-20b’s weights don’t fit, partial offload caps the gain at ~40%, not 2x — expect the same shape on a B580 12GB. And the B60 row shows why Battlemage is the main beneficiary: its Xe2 XMX engines plus the new aligned loads more than double throughput, where Alchemist’s older memory subsystem converts the same patch into a third.

The bandwidth math says this was overdue

Decode speed is bandwidth-bound: tok/s can’t exceed memory bandwidth divided by bytes read per token, and gpt-oss models read roughly 3 GB per token (MoE models only read active experts). The Arc Pro B70 has 608 GB/s, so its ceiling on gpt-oss-20b is ~203 tok/s. Before this patch, SYCL delivered 55.8 tok/s — 27% of the ceiling, which is the signature of a software problem, not a hardware one. After, 106.6 tok/s is 52% of ceiling. Still below the 70–95% that mature CUDA kernels reach (a used RTX 3090 at 936 GB/s does 161 tok/s on the same model, 52%→healthy band), but Arc went from “broken” to “credible” in one merge. There may be more left on the table.

What everyone else gets: the single-digit reality

If you don’t run MXFP4 MoE models, October’s haul is smaller and more specific:

  • Q8_0 models (PR #29186, Oct 2): ESIMD kernels and 4-dword wide loads. On an A770 running Llama 3 8B Q8_0, tg128 went 35.33 → 36.88 tok/s with flash attention off and 37.57 → 39.47 with it on — about +4–5%. The author measured +7.3% generation on a 131K-context Qwen3.8-Flash-Next IQ4_XS workload. Prompt processing: flat.
  • Q5_K models with speculative decoding (PR #29375, Oct 9): the multi-token verification path — exactly what DFlash drafting hammers — got 1.7–3x faster kernels at batch 2–8. End-to-end on a B70 running a Q5_K_XL model with DFlash: 35.4 → 39.6 tok/s average, +12%. This path is gated to Battlemage after review; A770 owners are excluded on purpose, to avoid untested regressions.
  • Intel iGPUs (PR #28985, Oct 2): with oneDNN 3.15+, prompt processing on a UHD 770 collapsed to 3.12 tok/s because oneDNN silently picked a reference matmul running at under 1% of peak. The fix routes around it: pp512 went 3.12 → 264.89 tok/s — 85x. Discrete Arc cards measured no change, so if you saw the “80x faster!” variant of this month’s claim, it’s this patch, and it’s iGPU-only.

So no — your Qwen3.6 Q4_K_M didn’t double. Q4_K and Q5_K dense decode on Arc is nearly where it was in September: 55–67 tok/s on 7B Q4_0 for the A770, per our A770 revisit.

How to get it (and which build to avoid)

None of this ships through Ollama. Ollama’s Intel path is the Vulkan backend (Intel archived its IPEX-LLM fork on January 28, 2026), and Vulkan uses entirely different kernels — these merges live in the SYCL backend only. LM Studio also rides Vulkan on Arc. To collect the gains you need llama.cpp itself, either the official SYCL Windows release binaries or a source build with Intel’s oneAPI Base Toolkit:

source /opt/intel/oneapi/setvars.sh
cmake -B build -DGGML_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx
cmake --build build --config Release -j

Then verify the MoE speedup took — it needs no flag, the weight reorder is automatic:

./build/bin/llama-bench -m gpt-oss-20b-mxfp4.gguf -fa 1
# B70-class Battlemage: expect tg128 ~100+ t/s. Mid-50s means you're on a pre-Oct-10 build.

The build-date trap, and the fix. The reorder work in #29809 introduced a prompt-processing regression on Q4_0/Q8_0 models: builds from October 10–16 generate faster but chew through prompts slower on those quants. The fix merged October 17 (PR #30374), with an ESIMD FFN restore following on October 18 (#30239). Practical rule: don’t cherry-pick a mid-October build — take a release tagged b11716 or later (the October 17 release wall). If you built last week and prompts suddenly got slow, that’s the bug; pull and rebuild.

Running llama.cpp directly instead of Ollama costs you nothing downstream, by the way — llama-server exposes the same OpenAI-compatible API, so a Continue.dev or Cline BYOK coding setup points at it with a one-line base-URL change.

Two smaller knobs from the same patch series: the Q8_0 wide-load path can be toggled with GGML_SYCL_MMVQ_WIDE (documented in SYCL.md, on track to become default), and multi-GPU Arc rigs hitting out-of-device-memory errors should set GGML_SYCL_ENABLE_HOST_PINNED_MEM=0. The Battlemage garbage-output environment-variable bug we documented in the Arc Pro B70 guide is unrelated and still applies to older builds.

Does this change which Arc card — or whether Arc at all?

Three things moved this month, and only one of them is software.

The A770 got more expensive. Used cards were $240–$300 in September; October listings run $300–$340 (BestValueGPU’s index sits at $339, eBay sold listings $310–$340). It’s still the cheapest 16GB card with 560 GB/s, but the “half the price of everything else” era is ending, and this patch series is increasingly Battlemage-first — the Q5_K path literally gates Alchemist out.

The B580 stayed cheap and gained a real MoE story. At $310–$330 new (GPUPrix tracks $330 in stock across 31 retailers; Newegg had an ASRock at $309.99 and a $329 promo), it’s the cheapest new card that benefits from the Battlemage-gated work. The 12GB limit means partial offload on gpt-oss-20b (~+40%, not 2x) — the B570 numbers above are its preview.

The Pro B70 is the quiet winner. 106.6 tok/s on gpt-oss-20b and 67 tok/s on gpt-oss-120b across two cards puts a ~$1,100–$1,300 street-price card (aiindigo tracking; MSRP $949) at two-thirds of a used RTX 3090’s speed on the model class that matters most in late 2026 — with 32GB instead of 24GB. Our B70 guide’s complaint was that MoE decode ran at half of what the bandwidth promised; that complaint is now substantially fixed.

What hasn’t changed: CUDA. A used RTX 3090 ($1,399–$1,450, October street) still decodes gpt-oss-20b at 161 tok/s, runs every framework without a custom build, and never asks you to check a PR number before updating. Arc’s pitch remains VRAM-per-dollar plus tolerance for build steps — October just made the pitch better.

What to actually buy

Prices as of October 2026, all verified above:

Your situationThe movePriceWhere
Already own any Arc cardRebuild llama.cpp SYCL at b11716+$0Build steps above
Cheapest 16GB entry, OK with used + build stepsUsed Arc A770 16GB$300–$340Check price
New card with warranty under $350Arc B580 12GB$310–$330 (MSRP $249)Check price
32GB for gpt-oss-120b-class MoE without the NVIDIA taxArc Pro B70 32GB~$1,100–$1,300 (MSRP $949)Check price
Maximum used-card speed + zero build frictionUsed RTX 3090 24GB$1,399–$1,450Check price
Want to test gpt-oss on fast hardware before buying anythingRented 3090, from $0.07/hrpay per hourVast.ai

If you’re sizing which model tier your VRAM actually supports before spending anything, run your numbers through the VRAM calculator first, and the 16GB tier guide maps what an A770-class card can hold.

FAQ

Is the “2x faster” claim true? For MXFP4 MoE models (gpt-oss-20b/120b) on Battlemage cards, yes — measured 1.91x–2.51x decode in the merged PR. For dense Q4_K_M/Q5_K models, no — those gained 0–12% depending on quant and card. For anything running through Ollama or LM Studio on Arc, nothing changed at all.

Do I need to re-download my models? No. The weight reorder happens at load time in GPU memory (capped at 32 MiB of temporary space) and decoding is bit-identical. Same GGUF files, same outputs, faster.

Why did my prompt processing get slower after updating in mid-October? You caught the Oct 10–16 regression window on Q4_0/Q8_0 models. PR #30374 (merged Oct 17) fixes it — update to release b11716 or later and rebuild.

Does this help the Vulkan backend? No. These are SYCL-backend kernels. Vulkan on Arc (what Ollama and LM Studio use) has its own kernel set and its own pace — the B580’s 72 tok/s on 7B via Vulkan is unchanged. If the SYCL gains matter to you, you have to run llama.cpp directly.

Should I buy an A770 or a B580 today? For LLM work specifically: the A770’s 16GB and 560 GB/s still beat the B580 on capacity and raw bandwidth, but October’s development pattern — Battlemage-only gates, an Alchemist prefill regression left standing — says where Intel’s and the community’s attention is. At near price parity ($300–$340 used vs $310–$330 new with warranty), the B580 is the safer buy unless you specifically need 16GB, and then you should also price the B70 move per our B580 breakdown.

Products linked in this article:

  • Used Intel Arc A770 16GB — $300–$340 used; cheapest 16GB card, +33–38% MoE decode from the October patches
  • Intel Arc B580 12GB — $310–$330 new; the cheapest Battlemage card, where this patch series is focused
  • Intel Arc Pro B70 32GB — ~$1,100–$1,300; now does 106+ tok/s on gpt-oss-20b after the October 10 merge
  • Used RTX 3090 24GB — $1,399–$1,450; still the speed-per-used-dollar benchmark Arc is chasing

Sources

Last updated October 18, 2026. Prices and specs change; verify current rates before purchasing. Before/after speed figures are the merged PRs’ own llama-bench results on the hardware named, not this site’s measurements.

Was this article helpful?

Get the numbers before you buy

New GPU and mini-PC benchmarks, VRAM thresholds, and price checks — sent when there's something worth acting on, not on a schedule. No spam, unsubscribe anytime.