Le projet llama.cpp a publié la compilation b11064, qui modifie le backend metal pour prendre en charge des comptes de têtes (hc) arbitraires dans le noyau dsv4_hc_pre. Auparavant, ces noyaux avaient hc = 4 codé en dur, ce qui faisait que les opérations avec d'autres comptes de têtes basculaient vers l'exécution sur CPU.

  • Le changement transmet n_hc comme une constante de fonction et effectue une boucle dessus dans les deux noyaux prévia avec des chargements directs.
  • Des cas de test-backend-ops ont été ajoutés pour les valeurs de hc 1, 2, 3, 5, 8 et 65, couvrant à la fois les scénarios avec gating et sans gating.
  • Cette mise à jour permet aux modèles comme Kimi-K3 de s'exécuter efficacement sur GPU en prenant en charge des comptes de checkpoints par banque dynamiques dans la pile résiduelle entre couches croisées.

La version inclut des binaires pour macOS, Linux, Windows, Android et openEuler via divers backends matériels incluant CPU, CUDA, ROCm, Vulkan, OpenVINO et SYCL.