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

llama.cpp b12233将外部PLE文件改为 --shard加载

该版本把独立的外部PLE文件加载并入多分片加载路径,--ple成为 --shard的别名,两参数均接受逗号分隔列表且可多次指定;提交说明由PR #31185 作者给出。

AI解读:llama.cpp发布b12233版本,主要改动是支持加载外部PLE文件(pull request #31185)。

该PR将 --ple改为 --shard的别名,复用多分片加载路径,不再使用独立的PLE加载选项。

两个参数都接受逗号分隔的分片列表,可以给多次,分片文件可放在任意位置。

元数据仍来自主文件;编号分片仍会被自动发现并严格校验。发现集合之外的显式文件会作为额外分片追加,不受split.no和split.count校验约束。

同时移除了ple_path、path_ple、llama_model_loader::add_ple_file,以及 -isnm/--ignore-shard-num-mismatch和test_convert_ple;路径会去重,PLE分片可覆盖张量。

该版本仍提供macOS、Linux、Android、Windows等多平台二进制包下载,但openEuler相关包标注DISABLED。

llama.cpp发布b12233版本,核心变更是允许加载外部PLE文件。根据PR #31185 的提交说明,--ple被改为 --shard的别名,外部PLE文件不再走单独选项,而是复用既有的多分片加载路径。

--ple与 --shard合并为一套参数

提交说明称,--ple与 --shard都接受逗号分隔的列表,并且可以多次给出,分片文件可以位于任意位置。

元数据仍从主文件读取;编号分片仍然自动发现并接受严格校验。发现集合之外的显式文件会作为额外分片追加,豁免split.no和split.count检查。

  • --ple现为 --shard的别名,两者用法一致。
  • 显式指定的额外分片不参与split.no和split.count校验。

被移除的接口与加载逻辑

提交说明列出移除项:ple_path、path_ple和llama_model_loader::add_ple_file被删除。common_model_load() 在路径为两个或更多时改用llama_model_load_from_splits。

common/fit.{h,cpp} 改为接收分片路径向量,因此 --fit和router的内存测量会加载每一个分片。提交中也提到路径去重,并允许PLE分片覆盖张量。

  • 删除ple_path、path_ple、llama_model_loader::add_ple_file。
  • 删除 -isnm/--ignore-shard-num-mismatch和test_convert_ple。
  • common_model_load() 对两个及以上路径调用llama_model_load_from_splits。
  • --fit与router内存测量按分片路径向量加载全部分片。

发布包范围

b12233的发布页列出macOS、iOS、Linux、Android、Windows多平台二进制包,涵盖CPU、CUDA 12与 13、Vulkan、ROCm 10.0、OpenVINO、SYCL以及Snapdragon等后端。

其中openEuler条目标注DISABLED,并链接到PR #23705;macOS Apple Silicon的KleidiAI版本同样标注DISABLED,链接到PR #23780。

  • 提供x64与arm64的CPU包,以及CUDA 12.8、CUDA 13.5等GPU包。
  • Snapdragon包覆盖CPU、Adreno GPU和Hexagon NPU。
  • openEuler与KleidiAI版本在发布页标注为DISABLED。

信息来源

llama.cpp Releases原始来源