Le backend hexagon met à jour flash attention pour utiliser un partitionnement parallèle des têtes afin d'exécuter le découpage par ligne sur plusieurs cœurs, corrigeant une limitation précédente où les cœurs lisaient l'intégralité du cache KV. En partitionnant selon les têtes KV lorsque le nombre est divisible par le nombre de cœurs, chaque cœur ne lit que sa partie spécifique du cache KV, restaurant ainsi les avantages en bande passante mémoire.

  • La vitesse d'inférence de Qwen3-0.6B augmente de 6977 à 11026 tokens/s (+58%) avec un découpage par ligne sur 4 cœurs.
  • Les performances de llama-3.2-3B passent de 3717 à 5522 tokens/s (+49%).
  • Qwen3.5-4B affiche une légère amélioration de 4 %, tandis que Gemma-4 MoE ne montre aucun changement en raison de la dominance du FFN MoE.
  • Cette fonctionnalité est contrôlée par GGML_HEXAGON_FA_HEAD_SPLIT et revient au découpage par blocs de tokens lorsque le nombre de têtes n'est pas divisible par le nombre de cœurs.

Cette optimisation accélère considérablement le débit de préremplissage pour des configurations de modèles spécifiques sur le matériel Hexagon.