La version llama.cpp b10255 étend le chemin oneDNN SDPA pour prendre en charge les caches de clés-valeurs (KV) non-FP16, y compris les formats quantifiés Q4_0–Q8_0 et FP32. Cette mise à jour permet au noyau systolique fusionné de s'exécuter de manière identique au chemin natif FP16 en déquantifiant ou en convertissant les tenseurs K/V en FP16 dense sur l'appareil avant le traitement.

  • Les types KV pris en charge incluent Q4_0, Q4_1, Q5_0, Q5_1, Q8_0 et F32, tandis que BF16 et les types IQ sont exclus en raison de l'absence de noyaux de conversion.
  • La prise en charge non-FP16 est conditionnée par des exigences selon lesquelles K >= 1024 et Q >= 32 pendant la phase de préremplissage.
  • La version inclut une correction de synchronisation de flux garantissant un comportement wait_and_throw inconditionnel et supprime l'aliasing V_is_K_view pour assurer que K et V sont toujours déquantifiés vers des tampons séparés.
  • Des binaires sont fournis pour macOS, Linux, Windows, Android et openEuler sur CPU, GPU (CUDA, Vulkan, ROCm, OpenCL) et backends spécialisés comme SYCL et OpenVINO.