Oossa

llama.cpp corrige la prise en charge CPU des entrées matricielles BF16

La version b11292 ajoute la prise en charge CPU d’une entrée matricielle BF16 utilisée pour la convolution en profondeur et renforce les vérifications de compatibilité de Vulkan.

BrèveOossaPublié par Oossa: 1 min de lecture

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.

Cet article vous a-t-il été utile ?
Partager

À lire ensuite

Oossa · Newsletter

La semaine de l'IA, expliquée

Chaque lundi : l'essentiel de l'actualité, en langage clair. Gratuit, sans spam.