Le projet llama.cpp a augmenté la limite de row-id hoistée pour l'opération Vulkan mul_mat_id de 256 à 1024 experts. Cette modification résout les goulots d'étranglement de performance dans les modèles avec un grand nombre d'experts, tels que Qwen3.8-Flash-Next, qui s'exécutait précédemment sur un chemin de code plus lent en raison des contraintes de taille du tableau partagé.
La mise à jour modifie le shader count_experts.comp pour utiliser une constante MAX_EXPERTS de 1024, faisant croître les tableaux partagés à 12 KiB tout en restant dans la garantie de 16 KiB de Vulkan. Sur du matériel Strix Halo avec une taille de lot de 2048, les multiplications matricielles d'experts passent de 12,5 à 9,5 ms pour iq3_s et de 14,0 à 7,5 ms pour iq4_nl par opération. La vitesse de traitement des prompts s'améliore d'environ 19 % à 8k tokens, et les tests du backend MUL_MAT_ID passent avec les nouveaux cas à 1024 experts.
Cette optimisation permet à llama.cpp de gérer efficacement les modèles dépassant le seuil précédent de 512 experts sans dégradation des performances sur le matériel compatible Vulkan.