O lançamento llama.cpp b10255 estende o caminho SDPA do oneDNN para suportar caches de chave-valor (KV) não-FP16, incluindo formatos quantizados Q4_0–Q8_0 e FP32. Esta atualização permite que o kernel systolic fundido seja executado de forma idêntica ao caminho nativo FP16, desquantizando ou convertendo os tensores K/V para FP16 denso no dispositivo antes do processamento.

  • Os tipos KV suportados incluem Q4_0, Q4_1, Q5_0, Q5_1, Q8_0 e F32, enquanto BF16 e tipos IQ são excluídos devido à falta de kernels de conversão.
  • O suporte não-FP16 é condicionado aos requisitos de K >= 1024 e Q >= 32 durante a fase de prefill.
  • O lançamento inclui uma correção de sincronização de stream que garante o comportamento incondicional de wait_and_throw e remove o aliasing V_is_K_view para garantir que K e V sejam sempre desquantizados para buffers separados.
  • Binários estão disponíveis para macOS, Linux, Windows, Android e openEuler em CPUs, GPUs (CUDA, Vulkan, ROCm, OpenCL) e backends especializados como SYCL e OpenVINO.