Le projet llama.cpp a publié la version b10675, qui inclut une mise à jour clé de son backend Vulkan. Cette version ajoute le support du hoisting pour les IDs de ligne et les comptes d'experts au sein du code shader.
- L'implémentation utilise des IDs de ligne hoistés dans coopmat2.
- Elle prend en compte les commentaires de revue concernant count_experts en utilisant vk_op_count_experts_push_constants au lieu de vecteurs uint bruts.
- L'astuce fastdiv est appliquée à l'opération div/mod ne00 dans count_experts.
- Les décalages par expert sont calculés avec subgroupExclusiveAdd là où c'est pris en charge, en conservant un chemin sériel comme solution de repli.
Cette mise à jour fournit des builds Vulkan optimisés pour macOS, Linux, Windows et Android sur divers backends matériels, y compris CUDA, ROCm et OpenCL.