Benchmarks · Intel Arc B70

MACH X

A from-scratch C++/SYCL inference engine that beats llama.cpp on Intel Arc — on prefill and decode, across eight model architectures.

built & tested on 2× Arc Pro B70 Battlemage · 64 GB · 608 GB/s oneAPI 2026 · SYCL

Prefill throughput

Mach Xcompetitor
tokens / sec · higher is better
gpt-oss-20b
OpenAI MoE · MXFP4 · 1× B70
vs llama.cpp SYCL · same GGUF
Mach X
1795
llama
927
1.94×faster
Qwen3.6-35B-A3B
hybrid DeltaNet MoE · “crown” · 2× B70
vs llama.cpp SYCL layer-split
Mach X
963
llama
763
1.26×faster
Tongyi-30B-A3B
qwen3moe · tensor-parallel · ~17K ctx
TP vs Mach X layer-split (long ctx)
TP
291
split
124
2.35×faster
Qwen3.6-27B
hybrid DeltaNet dense · 1× B70
vs llama.cpp SYCL
Mach X
349
llama
288
1.21×faster

Decode throughput

Mach Xcompetitor
tokens / sec · higher is better
Qwen3.6-35B-A3B
hybrid DeltaNet MoE · “crown” · 2× B70
vs llama.cpp SYCL layer-split
Mach X
63
llama
42
1.49×faster
gpt-oss-20b
OpenAI MoE · MXFP4 · 1× B70
vs llama.cpp SYCL · same GGUF
Mach X
58.3
llama
50.3
1.16×faster
gpt-oss-120b
OpenAI MoE · MXFP4 · 117B · 2× B70 TP
vs LM Studio · same 2 cards
Mach X
31
LM Studio
12.4
2.5×faster
Tongyi-30B-A3B
qwen3moe · tensor-parallel · ~17K ctx
TP vs Mach X layer-split (long ctx)
TP
27.4
split
21
1.30×faster
Qwen3.6-27B
hybrid DeltaNet dense · 1× B70
vs llama.cpp SYCL · known weak axis
Mach X
15.2
llama
23.2
0.66×slower

The one we don't win

honesty > hype

Dense-model decode on a single card is Mach X's known weak axis — llama.cpp's SYCL kernel edges the Qwen3.6-27B decode loop (15.2 vs 23.2 tok/s). It's the one place a competitor is faster, and it's flagged in amber above rather than buried. Every other bar on this page is a win, and the fix (a faster dense-decode GEMV) is the next lever, not a mystery.

The short version

4.47×
peak prefill vs llama.cpp
(gpt-oss-20b @ 2K)
1.49×
decode on the crown
35B-A3B vs llama.cpp
2.5×
gpt-oss-120b decode
vs LM Studio, 2× B70
8+
model architectures
run correctly on Arc

What “bit-exact” means

fast is easy if you're wrong

Speed only counts if the output is right. “Bit-exact” is the strongest correctness claim there is: the engine produces output that is byte-for-byte identical to a trusted reference — the same tokens, down to the same bits — not merely “close.” It proves the speed didn't come from quietly cutting numerical corners.

Bit-exact ✓
Dense models vs llama.cpp. Per-layer activations, greedy token stream, and perplexity all match the llama.cpp oracle bit-for-bit (Llama-3.x cosine 0.99998–1.0).
Bit-exact ✓
Multi-GPU layer-split vs single-GPU. Splitting a model across two B70s changes nothing about the result — the output is byte-identical to running it on one card.
Equivalent ≈
Tensor-parallel. Summing each card's partial results in a different order flips the last few bits, so this path is validated by cosine ≈ 0.999999 + matching perplexity rather than bit-identity — numerically the same answer, not the same bits.
Method: `ie-bench --prefill P --decode N` mirrors `llama-bench -pP -nN`; runs order-controlled & heat-soaked on 2× Intel Arc Pro B70.
Notes: prefill values shown at pp512 unless marked; gpt-oss rows are clean-box head-to-head with identical GGUFs. A few non-gpt-oss figures predate the latest clean-box sweep and are being re-verified. LM Studio 120b figure owner-reported on the same two cards.