El proyecto llama.cpp lanzó la compilación b10078, que incluye una refactorización significativa del backend de Vulkan para mejorar la eficiencia de sincronización. La actualización integra soporte para VK_KHR_internally_synchronized_queues, permitiendo a la biblioteca abstraer el envío de colas en una interfaz polimórfica que omite completamente el bloqueo del mutex del lado del host cuando el controlador lo admite.

  • Refactoriza vk_queue para usar mutexes por instancia y manejadores únicos para propiedad exclusiva.
  • Integra VK_KHR_internally_synchronized_queues para omitir el bloqueo del mutex del lado del host cuando es soportado por el controlador.
  • Añade definiciones de respaldo y constantes static constexpr para la detección de internallySynchronizedQueues.
  • Corrige errores de compilación, cadenas pNext duplicadas y comprobaciones nulas en el destructor vk_device_struct.

Este cambio optimiza la gestión del ciclo de vida y la seguridad de hilos mientras reduce llamadas API redundantes durante la creación del dispositivo.