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_SIZEandSYCL_SILU_BLOCK_SIZEconstants dropped (zero remaining users). Block size stays 256; launch geometry unchanged. - Contiguous fast path: when
o0 == nando1 == 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.