开源llama.cpp Releases·原文 2026年11月4日

llama.cpp b12101让GGUF写入直接落盘宿主缓冲张量

ggml修改GGUF写入器:宿主缓冲张量不再先复制进临时vector,而是直接写入文件,跳过逐张量分配、零初始化和memcpy。

AI解读:llama.cpp发布b12101,核心变更是ggml的GGUF写入器优化(#31144)。

原流程把每个张量先暂存到临时vector再写入;对于宿主缓冲张量,数据指针可直接写,因此跳过暂存复制、直接写文件。

改动声称避免每张量的分配、零初始化和memcpy;这是代码提交说明中的说法,未附性能测量数据。

发布页同时列出macOS/iOS、Linux、Android、Windows、openEuler等平台构建产物;openEuler与启用KleidiAI的macOS arm64构建标注为DISABLED。

llama.cpp发布b12101版本,ggml部分包含一项GGUF写入器改动(#31144):对宿主缓冲张量跳过临时暂存,直接写入文件。

发布说明称,此举避免了每个张量的分配、零初始化和memcpy。该描述来自提交说明,未给出耗时或内存占用的对比数据。

写入路径改了什么

按提交说明,GGUF写入器原先会把每个张量先放入一个临时vector,再执行写入。宿主缓冲张量的数据指针本身可写,因此新代码省去这段暂存复制,直接把数据写到文件。

改动涉及三处开销:逐张量分配、零初始化、memcpy。适用对象限定为宿主缓冲张量,说明中没有声称覆盖所有张量类型。

  • 提交编号:#31144,发布版本b12101。
  • 提交说明列出协助工具:dsh:llama.cpp/ggml-org/DeepSeek-V4-Flash-Vision-Exp-GGUF(Mac Studio,M2 Ultra,192GB)。

构建产物与禁用项

发布页按平台列出二进制包,涵盖macOS Apple Silicon与Intel、iOS XCFramework、Ubuntu多架构及CUDA、Vulkan、ROCm、OpenVINO、SYCL等后端,以及Android、Windows和openEuler构建。

页面同时标注两类禁用项:启用KleidiAI的macOS Apple Silicon arm64构建被标记为DISABLED(链接至PR #23780),openEuler构建同样标注为DISABLED(链接至PR #23705)。

信息来源

llama.cpp Releases原始来源