开源llama.cpp Releases·2026年9月5日

llama.cpp b10783发布,为mtmd多模态API增加const限定以支持多线程分词

该版本将mtmd_context与分词输入指针标记为const,使编译器能确认mtmd_tokenize可从多线程安全调用,同时面向多平台提供二进制包。

AI解读:llama.cpp的mtmd多模态API此前已在线程安全文档中说明mtmd_tokenize可并发调用,但函数签名并未体现这一点。本次b10783版本将mtmd_context和分词输入指针标记为const,等于把这一保证固化到类型系统里,让编译器在多线程场景下能安全优化,也让开发者更容易用不可变数组调用分词接口。对正在用C/C++集成多模态模型、需要并行处理多个图像或视频片段的开发者来说,这次改动降低了因误用共享状态而踩并发问题的概率。需要注意的是,这只是接口层面的可读性与安全性改进,不改变模型输出或推理性能。

llama.cpp项目发布b10783版本,主要改动集中在mtmd多模态模块:将多个方法中的上下文参数与分词输入指针标记为const,借此把mtmd_tokenize的线程安全性落实到函数签名层面。

const限定覆盖范围

本次提交(#28307)将mtmd_context标记为const的方法包括mtmd_bitmap_init_lazy、mtmd_tokenize、mtmd_tokenize_from_parts、mtmd_helper_support_video、mtmd_helper_bitmap_init_from_file、mtmd_helper_bitmap_init_from_buf、mtmd_helper_video_init、mtmd_helper_video_init_from_buf和mtmd_helper_model_can_chat。

此外,mtmd_tokenize和mtmd_tokenize_from_parts的bitmaps与parts输入指针也被标记为const,便于用不可变数组或向量调用这些函数。

平台构建与可用性

b10783提供了多平台构建产物:macOS Apple Silicon (arm64)、macOS Intel (x64)、iOS XCFramework、Ubuntu x64/arm64/s390x (CPU)、Ubuntu x64/arm64 (Vulkan)、Ubuntu x64 (ROCm 10.0)、Ubuntu x64 (OpenVINO)、Ubuntu x64 (SYCL FP32/FP16)。

Windows平台提供x64/arm64 (CPU)、arm64 (OpenCL Adreno)、x64 (CUDA 12.4与CUDA 13.3)、arm64 (CUDA 13.4, preview)、x64 (Vulkan/OpenVINO/SYCL/ROCm 10.0)。Android仅提供arm64 (CPU) 构建。

信息来源

llama.cpp Releases原始来源