La version b11292 de llama.cpp corrige une limitation du backend CPU qui affectait la convolution 1D en profondeur lorsque son noyau utilise le format numérique BF16 sur 16 bits. Le backend CPU convertit désormais cette entrée en flottant 32 bits pour effectuer le calcul, comme le fait le noyau Metal de multiplication matrice-vecteur.
La version modifie également les vérifications de Vulkan : BF16 est accepté comme seconde entrée matricielle uniquement si la première est elle aussi en BF16. Les autres combinaisons sont considérées comme non prises en charge, afin que l’ordonnanceur les exécute sur le CPU. Les notes mentionnent l’ajout de tests, mais ne précisent pas quand ces changements seront intégrés à une application distribuée ni quels utilisateurs en bénéficieront.
Pourquoi c'est important
Les développeurs qui exécutent des convolutions en profondeur en BF16 peuvent désormais utiliser le backend CPU pour une combinaison qu’il rejetait auparavant ; les notes ne précisent pas quand le correctif sera intégré aux applications en aval.