llama.cpp b10857发布:修复 32 位平台Vulkan句柄使用问题
llama.cpp发布b10857版本,修复Vulkan-Hpp在 32 位目标上的句柄使用问题,并同步提供各平台预编译二进制。
AI解读:这个版本主要修复了在 32 位平台上Vulkan后端的一个编译或运行问题。因为 32 位系统里Vulkan的非调度句柄(比如VkBuffer)是用uint64_t表示的,而Vulkan-Hpp为了类型安全关闭了隐式转换,导致ggml-vulkan里两处代码出错。对普通用户来说,如果你用的是 32 位设备或交叉编译环境,并且依赖Vulkan加速,升级到b10857可以避免日志输出和缓冲区拷贝时的类型转换错误;如果你用的是 64 位系统,这次改动基本不影响你,可以按需更新。注意macOS上KleidiAI优化的构建当前被禁用,相关PR还在讨论中,所以对性能敏感的用户可能需要留意后续版本。
llama.cpp于 2026 年发布b10857版本,修复Vulkan-Hpp在 32 位目标上的句柄使用问题(PR #22892)。
修复内容与原因
在 32 位平台上,Vulkan的非调度句柄(如VkBuffer)以uint64_t表示,而Vulkan-Hpp出于类型安全禁用了隐式转换。这暴露了ggml-vulkan中的两个问题:调试/内存日志中将vk::Buffer直接流式输出到std::ostream;以及将vk::Buffer转换为VkBuffer后再传给Vulkan-Hpp的CommandBuffer::copyBuffer API。修复方式为添加相应运算符。
改动状态与对应PR
macOS Apple Silicon(arm64)的KleidiAI启用构建已被禁用,相关PR为 #23780;openEuler的构建(x86 310p、x86 910b ACL Graph、aarch64 310p、aarch64 910b ACL Graph)也已禁用,对应PR #23705。
公开的下载资源
该版本提供了多平台预编译二进制,包括macOS(Apple Silicon、Intel)、iOS XCFramework、Linux(Ubuntu x64/arm64/s390x CPU、Vulkan、ROCm 10.0、OpenVINO、SYCL FP32/FP16)、Android arm64 CPU、Windows(x64/arm64 CPU、OpenCL Adreno、CUDA 12.4/13.3/13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0),以及UI组件包。具体下载链接见发布页。