O projeto llama.cpp lançou a compilação b10078, que inclui uma refactorização significativa do backend do Vulkan para melhorar a eficiência da sincronização. A atualização integra suporte para VK_KHR_internally_synchronized_queues, permitindo que a biblioteca abstraia o envio de filas em uma interface polimórfica que contorna completamente o bloqueio do mutex do lado do host quando o driver suporta isso.

  • Refatora vk_queue para usar mutexes por instância e manipuladores exclusivos para posse exclusiva.
  • Integra VK_KHR_internally_synchronized_queues para contornar o bloqueio do mutex do lado do host quando suportado pelo driver.
  • Adiciona definições de fallback e constantes static constexpr para detecção de internallySynchronizedQueues.
  • Corrige erros de compilação, cadeias pNext duplicadas e verificações nulas no destrutor vk_device_struct.

Esta mudança otimiza o gerenciamento de ciclo de vida e a segurança de threads enquanto reduz chamadas de API redundantes durante a criação do dispositivo.