Le projet llama.cpp a publié la compilation b10545, qui résout un bug critique dans le noyau de multiplication de matrices de l'API tensorielle du backend Metal. La mise à jour prévient les comportements indéfinis et les résultats corrompus lors du traitement de tenseurs dont la dimension K n'est pas un multiple de 32.

  • L'opération matmul2d utilise désormais dynamic_extent pour K au lieu d'une taille de tuile statique.
  • Les vues de tenseurs d'opérandes sont limitées à l'intervalle K valide restant à chaque itération.
  • Ce changement élimine les lectures hors limites qui causaient précédemment des valeurs NaN ou une corruption de données.
  • Des cas de test ont été ajoutés pour exercer le chemin avec K non aligné et vérifier la correction.

Cette correction assure la stabilité numérique pour les modèles avec des dimensions de matrice non alignées sur les appareils Apple Silicon, empêchant les erreurs silencieuses lors de l'inférence.