开源llama.cpp Releases·原文 2026年9月29日

llama.cpp b11255发布:新增fs_write_atomic(),修复下载文件关闭时的缓冲写入错误

该版本在common模块加入原子写入函数,用于在关闭已下载文件时检查缓冲写入错误,并修复Windows下ETag文件的UTF-8路径与二进制写入问题。

AI解读:llama.cpp的b11255构建把下载文件的收尾写入做了一步加固:新增的fs_write_atomic() 会在关闭文件时检查缓冲写入是否出错。此前如果缓冲数据在关闭阶段写失败,程序可能把一次不完整的下载当成成功。

改动还专门照顾了Windows:ETag文件改用UTF-8路径写入,并以二进制模式写文件。ETag用来判断缓存是否过期,路径编码或换行转换出错会让缓存判断失准。

对普通用户来说,这是一次偏底层但有用的补丁,不需要立刻更换使用方式;经常拉取模型文件、在Windows上使用缓存的人会直接受益。

需要注意,来源只给出该提交的说明和构建产物列表,没有提供修复前后的对比数据,因此无法量化它避免了多少次失败下载。

llama.cpp发布b11255版本,其中common模块新增fs_write_atomic() 函数,提交信息为 “common : add fs_write_atomic() (#29642)”。

该提交说明列出三项改动:在关闭已下载文件时检查缓冲写入错误;在Windows上写入ETag文件时使用UTF-8路径;在Windows上以二进制模式写入。

提交由Adrien Gallouët署名(Signed-off-by)。

b11255的构建产物覆盖平台

该版本按平台提供预编译包,包括macOS Apple Silicon(arm64)与macOS Intel(x64)、iOS XCFramework、Ubuntu(x64、arm64、s390x)的CPU版本,以及Vulkan、CUDA 12、CUDA 13、ROCm 10.0、OpenVINO、SYCL FP32/FP16等后端版本,另有面向Snapdragon的Linux arm64包(CPU、Adreno GPU、Hexagon NPU)。

Android提供arm64(CPU)与arm64(Snapdragon:CPU、Adreno GPU、Hexagon NPU)两个包;Windows提供x64/arm64 CPU、arm64 OpenCL Adreno,以及CUDA 12、CUDA 13、Vulkan、OpenVINO、SYCL、ROCm 10.0等版本;此外还有UI压缩包。

发布说明中标注macOS Apple Silicon(arm64,启用KleidiAI)与openEuler相关构建为DISABLED,分别指向PR #23780 与PR #23705。

  • macOS/iOS:macOS Apple Silicon(arm64)、macOS Intel(x64)、iOS XCFramework
  • Linux:Ubuntu x64/arm64/s390x CPU,以及Vulkan、CUDA 12、CUDA 13、ROCm 10.0、OpenVINO、SYCL FP32/FP16
  • Snapdragon:Linux arm64(CPU、Adreno GPU、Hexagon NPU)与Android arm64(CPU、Adreno GPU、Hexagon NPU)
  • Windows:x64/arm64 CPU、arm64 OpenCL Adreno、CUDA 12、CUDA 13、Vulkan、OpenVINO、SYCL、ROCm 10.0
  • 其他:Android arm64 CPU、UI包;macOS KleidiAI版与openEuler版为DISABLED

信息来源

llama.cpp Releases原始来源