La versión b10255 de llama.cpp extiende la ruta de SDPA de oneDNN para admitir cachés de clave-valor (KV) no FP16, incluidos los formatos cuantizados Q4_0–Q8_0 y FP32. Esta actualización permite que el kernel sistólico fusionado se ejecute idénticamente a la ruta nativa FP16, desquantizando o convirtiendo los tensores K/V a FP16 denso en el dispositivo antes del procesamiento.

  • Los tipos KV admitidos incluyen Q4_0, Q4_1, Q5_0, Q5_1, Q8_0 y F32, mientras que los tipos BF16 e IQ están excluidos debido a la falta de kernels de conversión.
  • El soporte no FP16 está condicionado por requisitos que exigen K >= 1024 y Q >= 32 durante la fase de prellenado.
  • La versión incluye una corrección de sincronización de flujo que garantiza un comportamiento incondicional de wait_and_throw y elimina el aliasing V_is_K_view para asegurar que K y V siempre se desquantizan a búferes separados.
  • Se proporcionan binarios para macOS, Linux, Windows, Android y openEuler en CPU, GPU (CUDA, Vulkan, ROCm, OpenCL) y backends especializados como SYCL y OpenVINO.