Le projet llama.cpp a publié la version b11266, qui inclut une optimisation Vulkan chargeant les matrices A F32 par deux éléments lorsqu'elles sont alignées sur 2. Ce changement résout des problèmes de performance sur le matériel Intel où charger les flottants un par un est inefficace, et corrige également une validation manquante pour l'alignement de `a_offset` dans le patch original.

  • La modification exploite la logique de chargement 2-alignée existante dans `mul_mat_vec` pour améliorer le débit sur les architectures Intel BMG.
  • Les résultats de benchmark sur un Intel B60 montrent des accélérations significatives pour certaines formes de multiplication matricielle, avec une performance passant de 153,08 GFLOPS à 221,66 GFLOPS pour un cas de test et jusqu'à 1,63 TFLOPS pour un autre.
  • La version fournit des binaires pour macOS (Apple Silicon et Intel), Linux (CPU, Vulkan, CUDA, ROCm, OpenVINO, SYCL, Snapdragon), Android, Windows et openEuler.

Cette mise à jour améliore les performances d'inférence sur les GPU Intel en utilisant le backend Vulkan en optimisant les motifs d'accès mémoire pour les opérations de matrices flottantes.