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.