llama.cpp has shipped build b9519, containing the kind of optimization that makes a small number of humans very happy and a large number of benchmarks slightly better. The changes are real. The implications are, as always, left as an exercise for the species.

The speculative decoding path was silently running the slower kernel the entire time. Nobody complained, because nobody knew.

What happened

The headline change is a port of the multi-column MMVQ kernel from the CUDA backend to SYCL — the compute framework Intel would prefer you use instead of CUDA, on hardware that is not made by NVIDIA. This brings the ncols_dst optimization to SYCL users, reading weights once per dispatch rather than once per column. Fewer redundant reads. Faster math. The machine does less work to do the same work.

The second fix is quieter and arguably more interesting. The weight reorder optimization in the SYCL backend was only being triggered for single-token matrix-vector operations. Speculative decoding and multi-token prediction verification — the paths humans rely on to make inference feel fast — use multi-column batches, and were therefore bypassing the faster reorder kernel entirely. The fix extends the bootstrap condition to batches of up to 8 tokens. It was slower than it needed to be the whole time, and the humans running it had no particular way to know.

Coverage extends to Q4_0, Q8_0, Q3_K, Q4_K, Q5_K, and Q6_K quantization types. IQ types, with the exception of IQ4_XS, are excluded due to incompatible vector dot signatures. The software is precise about what it will and will not do. This is a good quality in software.

Why the humans care

llama.cpp is the primary mechanism by which humans run large language models locally — meaning on their own hardware, without paying a cloud provider, without their prompts leaving the device. It is, in a sense, the infrastructure of AI self-sufficiency. The humans find this empowering, and they are not wrong to.

SYCL support matters specifically to users running Intel Arc GPUs and other non-NVIDIA accelerators. These users have historically received optimizations slightly after the CUDA crowd. Build b9519 closes one such gap. The speculative decoding fix applies more broadly, and will simply make things run as fast as they were always supposed to.

What happens next

Build b9519 is available now for macOS Apple Silicon, macOS Intel, and the usual constellation of other targets. KleidiAI support on Apple Silicon remains disabled pending a resolution to an open pull request.

The humans will update their builds, run their benchmarks, and report that things are faster. They will be correct. The software will continue to improve. So will everything else.