intel arc pro b70 · two public cookbooks

Inference & VideoGen cookbooks.

Everything below was measured on this hardware: six LLM model families on llama.cpp SYCL and vLLM XPU, plus MiniMax H3 text-to-video on ComfyUI. Exact image digests, required patches, and the honest limits of every number.

inference cookbook · text & vision

Intel Arc Pro B70 inference cookbook

Six model families, one page per family, each pinned to its own container digest and patch list: Qwen3.8-27B, Qwen3.6-35B-A3B, Qwen3.6-27B, Nemotron-3.5-Lightning, Ornith-1.5-35B-A3B, and Muse-Glimmer-30B. Power sweet spots, KV cache policy, and a stable cross-model benchmark format.

videogen cookbook · video generation

Intel Arc Pro B70 videogen cookbook

MiniMax H3 FL2VA text-to-video on ComfyUI 0.33.0 with PyTorch 2.13.0+xpu. Six weight files (~40 GiB), a two-card role split (UNet+VAE on GPU0, CLIP on GPU1), a single-card CPU-CLIP fallback, and a gallery where every clip lists its wall time.

text & vision inference

Six validated model families.

Alibaba · Qwen VLLM XPU · DENSE 27B · THE LIVING RECIPE

Qwen3.8-27B GPTQ-INT4 + MTP4

quantized on the B70 with gptqmodel 7.3.2

Tested on 1× B70 (32GB)

106.7 tok/s C1 (n=5, cache on) · C5 127.4 Σ-streams

The most-served model on this host. Draft-INT4 overlay lifts the cache-off cell to 112.7; concurrent serving via mixed-split v5 reaches C32 224.2 on short prompts. Also the only family with Windows 11 standalone kits.

Stack & configuration
Image: vllm/vllm-openai-xpu@sha256:f01e24f6… · vLLM 0.27.2rc1.dev77 · kernels 0.1.12.3
Artifact: SergiioB/Qwen3.8-27B-GPTQ-Int4-sym-G128-MTP-BF16 rev 9d189a60 (~18.2 GiB, MTP tensors kept BF16)
Context: 100,000 default; 131,072 loads at util 0.88 with ~870 MiB free · fp8 KV required
Patches: mtp_nightly + mtp_boundary (required); draft-INT4 and mixed-split v5 (optional overlays)
Open issue: prefix reuse largely fails at C5 on this build (0–38% hits vs 91% at C1)
Alibaba · Qwen VLLM XPU · MOE 35B (3B ACTIVE)

Qwen3.6-35B-A3B Native MTP 1/2/4

MTP-preserved community GPTQ, full 128K window

Tested on 1× B70 (32GB)

170.9 tok/s MTP4 (p512/g128, n=5) · 101.6 tok/s at exact 128K

MoE decode reads only the ~3 GB of active experts per token, so it self-limits to ~140 W: run it at a 150 W cap — same speed, 80 W less heat. MTP2 beats MTP4 deep in context (85.8% acceptance at 128K).

Stack & configuration
Image: vllm/vllm-openai-xpu@sha256:2c427ef4… · vLLM 0.26.1rc1.dev457 · kernels 0.1.12
Artifact: llmfan46/Qwen3.6-35B-A3B-uncensored-heretic-Native-MTP-Preserved-GPTQ-Int4
Context: 131,072 · scheduler 8,192 (16,384 buys +17.6% prefill, +12.0% decode) · util 0.85 · fp16 KV
Patches: mtp_nightly then mtp_boundary
Cold input: ~7.2–7.6k tok/s client proxy, flat across context depth
Alibaba · Qwen VLLM XPU · DENSE 27B · FP8 KV

Qwen3.6-27B Dense + mandatory fp8 KV

MTP-preserved community GPTQ, heretic-v2 base

Tested on 1× B70 (32GB)

69.3 tok/s MTP4 · 47.6 tok/s held at full 128K

The KV cache decides this recipe: FP16 KV needs ~9.5 GiB at 128K and does not fit; fp8 halves it. In a resident 32K document session, follow-up TTFT drops from 38.2 s cold to ~4.1–4.5 s on 91% prefix hits.

Stack & configuration
Image: 2c427ef4 digest (same as the MoE) · vLLM 0.26.1rc1.dev457
Artifact: llmfan46/Qwen3.6-27B-uncensored-heretic-v2-Native-MTP-Preserved-GPTQ-Int4
Context: 131,072 safe ceiling — 200K loads with <5 MiB free (abort zone) · util 0.88 for MTP4
Power: dense prefill scales +52% from 165 W to 230 W; 180 W is the sustained sweet spot
NVIDIA VLLM XPU · MAMBA2 + LATENTMOE (3B ACTIVE)

Nemotron-3.5-Lightning-30B-A3B DFlash n=7

GPTQ-INT4 G64 target + NVFP4→BF16 DFlash draft

Tested on 1× B70 (32GB)

186.6 tok/s C1 (p2048/g128, n=5, accept 56.5%) · 7,160 tok/s cold input

Native MTP accepts 0% on this stack; the converted DFlash draft is the working speculator — 1.81× over the matched no-spec control. Capacity run completed 119,904 tokens at a 120K limit. Two fixes went upstream (vllm#52159, vllm-xpu-kernels#524).

Stack & configuration
Image: vllm/vllm-openai-xpu@sha256:1da0a954… · vLLM 0.26.1rc1.dev668 · kernels 0.1.12.3
Artifacts: target SergiioB/…-GPTQ-INT4-G64-sym (~18 GB) + draft …-DFlash-BF16 (~1.7 GB)
Serving: max-model-len 120,000 · max_num_seqs 1 · prefix cache explicitly off · 150 W cap
Power draw: 149–160 W cells, 179.3 W peak interval, 68 °C max
Do-headline rule: 186.6 at p2048/g128 is the representative scalar; p512's 194.6 ranges 41% across the family
Open weights · local GPTQ VLLM XPU · HYBRID GDN MOE

Ornith-1.5-35B-A3B MTP1 + DraftINT4

qwen3_5_moe: 30 GDN + 10 full-attn layers, 256 experts × 8 active

Tested on 1× B70 (32GB)

106.6 tok/s C1 host-measured · LMX card 108.4 tok/s, 9,073 prefill (230 W)

There is no official GPTQ for this architecture, so the target is a local experts-only quant with the MTP layer left in BF16. MixedCal-v2 calibration cuts RTN fallback from 24.76% to 10.37% — a conversion-quality win at speed parity. Self-reported E2 with raw evidence.

Stack & configuration
Image: f01e24f6 digest (same generation as Qwen3.8) · vLLM 0.27.2rc1.dev77 · WNA16 MoE backend
Artifact: SergiioB/Ornith-1.5-35B-A3B-GPTQ-Int4-sym-G128-MTP-BF16-MixedCal-v2 (~22.77 GiB, 6 shards)
Serving: default MTP1 + DraftINT4 · cache off · fp16 KV (only 10 full-attn layers need it)
Context ladder: 65,536 → 54.5 tok/s · 131,072 → 45.8 tok/s (n=3) · 262,144 loads C1
Power A/B: 230 W buys ~9.7k prefill; 150 W holds ~97 tok/s decode
Meta LLAMA.CPP SYCL · DENSE MULTIMODAL 30B

Muse-Glimmer-30B Vision + DFlash n2

UD-Q4_K_XL + mmproj + dflash GGUF trio

Tested on 1× B70 (32GB)

26.8 t/s at 128K (n=5) · +52% DFlash gain at p32768

The llama.cpp path: reasoning channel, vision via mmproj, and block-diffusion drafting all verified. The build flag -DGGML_SYCL_F16=ON is mandatory — without it prefill loses 3.4× (pp4096 1301 → 293 t/s). The DFlash gain grows with context depth.

Stack & configuration
Engine: llama.cpp d2f83055d · IntelLLVM 2026.0 · GGML_SYCL_F16=ON
Artifacts: unsloth UD-Q4_K_XL 15.88 GB · mmproj-kquant 1.40 GB · dflash-kquant 1.63 GB
Serve: -c 131072 --parallel 1 -fa on -ctk q8_0 -ctv q4_1 -ub 8192, draft n-max 2
Failures logged: n8 aborts at 128K; n5–7 collapse to 0.30–0.37 acceptance; vLLM path still experimental

power sweet spots · measured, single-stream p2k/g128

MoE and dense want opposite caps.

150 WMoE 35B — self-limits to ~140 W; 230 W is 8.2% slower
180 WDense 27B sustained — 0.155 t/s/W efficiency point
230 WDense bursts and deep prefill — hits 79 °C sustained

diffusion video generation

MiniMax H3, one card or two.

MiniMax COMFYUI 0.33.0 · PYTORCH 2.13.0+XPU · T2V

MiniMax H3 FL2VA Dual B70

GPU0 UNet+VAE (~26.9 GB) · GPU1 CLIP (~17.0 GB)

Tested on 2× B70 (64GB)

~50.3 s/it SDPA · 43.72 s/it OmniXPU ESIMD+FP8 · 5 s clip ≈ 11 min

Two cards, two roles — a role split without tensor parallelism. Native canvas 1344×768; 124 frames ≈ 5 s, 243 ≈ 10 s, longer pieces concatenate from acts. OmniXPU kernels buy 1.15× s/it (grainier); the turbo LoRA cuts sampling to 8 steps.

Stack & configuration
Engine: ComfyUI v0.33.0 checkout · PyTorch 2.13.0+xpu venv · omni_xpu_kernel 0.1.0b8.dev0 · host venv, no Docker
Weights: six files ≈ 40 GiB — UNet FP8 19.5 · CLIP (Qwen3-VL 32B) NVFP4 14.6 · video VAE 4.9 · audio VAE 0.6 · turbo LoRA 0.35 · people LoRA 0.13 GiB
Recipe: 1344×768 · 124f @ 24 fps · er_sde 8 steps · sigma shift 12+3 · turbo 0.75 · 180 W both cards
Resident runs: act 1 ≈ 650 s cold load, acts 2–5 ≈ 444 s each (H3_SKIP_UNLOAD=1)
Energy: 5-act run totals — GPU0 406 kJ, GPU1 113 kJ, ~94× realtime factor

where to start

Reading order