Skip to content

llama.cpp b10306: SYCL GLU fast path, +14% f16 SWIGLU on Arc Pro B70

llama.cpp b10306 adds a contiguous fast path for fused GLU ops on SYCL, with +14% f16 SWIGLU gains on Intel Arc Pro B70. Fused-GLU kernels consolidated.

llama.cpp b10306 adds a contiguous fast path for fused GLU operations on SYCL, posting +14% f16 SWIGLU gains on Intel Arc Pro B70.

The release notes cover four concrete changes:

  • SWIGLU split perf on Arc Pro B70: +14% f16, +4% f32. Fused path unchanged.
  • Fused-GLU kernel consolidation: GELU and SILU variants differed only in which op_* they called — now unified into one launcher that takes the op as an argument. SYCL_GELU_BLOCK_SIZE and SYCL_SILU_BLOCK_SIZE constants dropped (zero remaining users). Block size stays 256; launch geometry unchanged.
  • Contiguous fast path: when o0 == n and o1 == n, the de-interleave index math collapses to identity. A flat kernel dispatches instead of the strided path.
  • New perf test coverage: SWIGLU at 17,408 columns, 512 and 2,048 tokens, f16 and f32, with operands both fused and split. Perf mode previously had zero GLU coverage.

The fast path only fires for ggml_glu_split with packed operands. A fused [gate|up] tensor still takes the strided route — the interleave math doesn’t simplify there.

NOTE

This release is SYCL-only on the GLU side. macOS/iOS builds (Apple Silicon arm64, Intel x64, iOS XCFramework) ship as usual but carry no GLU changes. The KleidiAI-enabled arm64 variant is currently disabled.

Available now at llama.app and on the b10306 release page. If you’re running SWIGLU split workloads on Intel Arc, rebuild and re-benchmark — the f16 gain is the one worth checking.