The llama.cpp b10255 release extends the oneDNN SDPA path to support non-FP16 key-value (KV) caches, including Q4_0–Q8_0 quantized formats and FP32. This update allows the fused systolic kernel to run identically to the native FP16 path by dequantizing or converting K/V tensors to dense FP16 on-device before processing.

  • Supported KV types include Q4_0, Q4_1, Q5_0, Q5_1, Q8_0, and F32, while BF16 and IQ types are excluded due to missing conversion kernels.
  • Non-FP16 support is gated by requirements that K >= 1024 and Q >= 32 during the prefill phase.
  • The release includes a stream sync fix ensuring unconditional wait_and_throw behavior and removes V_is_K_view aliasing to ensure K and V are always dequantized to separate buffers.
  • Binaries are provided for macOS, Linux, Windows, Android, and openEuler across CPU, GPU (CUDA, Vulkan, ROCm, OpenCL), and specialized backends like SYCL and OpenVINO.