llama.cpp 项目发布了构建版本 b10078,其中包括对 Vulkan 后端的重大重构,以提高同步效率。该更新集成了对 VK_KHR_internally_synchronized_queues 的支持,允许库将队列提交抽象为多态接口,当驱动程序支持时,完全绕过主机端互斥锁锁定。

  • 重构 vk_queue 以使用每实例互斥锁和唯一句柄以实现独占所有权。
  • 集成 VK_KHR_internally_synchronized_queues 以在驱动程序支持时绕过主机端互斥锁锁定。
  • 添加用于 internallySynchronizedQueues 检测的回退定义和静态 constexpr 常量。
  • 修复 vk_device_struct 析构函数中的编译错误、重复的 pNext 链和空值检查。

此更改优化了生命周期管理和线程安全性,同时减少了设备创建期间的冗余 API 调用。