Le projet llama.cpp a publié la compilation b10078, qui comprend une refactorisation significative du backend Vulkan pour améliorer l'efficacité de la synchronisation. La mise à jour intègre le support de VK_KHR_internally_synchronized_queues, permettant à la bibliothèque d'abstraire la soumission des files d'attente dans une interface polymorphique qui contourne complètement le verrouillage du mutex côté hôte lorsque le pilote le prend en charge.
- Refactorise vk_queue pour utiliser des mutex par instance et des gestionnaires uniques pour la propriété exclusive.
- Intègre VK_KHR_internally_synchronized_queues pour contourner le verrouillage du mutex côté hôte lorsque pris en charge par le pilote.
- Ajoute des définitions de repli et des constantes statiques constexpr pour la détection de internallySynchronizedQueues.
- Corrige les erreurs de compilation, les chaînes pNext dupliquées et les vérifications null dans le destructeur vk_device_struct.
Ce changement optimise la gestion du cycle de vie et la sécurité des threads tout en réduisant les appels API redondants lors de la création de l'appareil.