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

llama.cpp b11633修复ggml-cpu SET_ROWS多线程缓冲区越界

该版本修复了SET_ROWS在多线程CPU推理图里越界写入F16→F32转换缓冲区的问题,并随版本提供各平台预编译包。

AI解读:按发布说明的描述,SET_ROWS原先按n_tasks = 1 规划,但每个线程都会执行,并各自使用F16→F32转换缓冲区的一行;当图中还存在其他多线程算子时,编号大于 0 的线程会写到工作缓冲区之外。

修复方式是把set_rows移到n_task = n_threads分组,并按所有线程来设置转换缓冲区大小。

该发布说明由ggml-org仓库的github-actions[bot] 发布,属于项目方对修复内容的说明,不是独立第三方的复现验证。

除修复说明外,b11633发布了macOS、iOS、Linux、Android、Windows等平台的预编译产物,其中macOS Apple Silicon的KleidiAI版和openEuler相关构建标注为DISABLED。

llama.cpp发布构建版本b11633,改动集中在ggml-cpu的CPU后端。发布说明称,这版修复了SET_ROWS在多线程执行时的缓冲区越界写入问题。

ggml-cpu改动内容

发布说明指出,SET_ROWS原先按n_tasks = 1 规划,但实际每个线程都会执行它,并各自使用F16→F32转换缓冲区中的一行,因此当计算图里还存在另一个多线程算子时,编号大于 0 的线程会写到工作缓冲区之外。

对应修复有两点:为所有线程设置set_rows转换缓冲区的大小;把set_rows移动到n_task = n_threads分组。

发布形式与平台产物

b11633随版本提供多平台预编译包,覆盖macOS Apple Silicon与Intel、iOS XCFramework,Ubuntu的CPU、Vulkan、CUDA 12、CUDA 13、ROCm 10.0、OpenVINO、SYCL构建,Android arm64,Windows的CPU、CUDA、Vulkan、OpenVINO、SYCL、ROCm构建,以及Linux/Android的Snapdragon版。

发布说明将macOS Apple Silicon的KleidiAI启用版本标注为DISABLED,openEuler的多个构建也标注为DISABLED。此次发布的具体修复条目指向仓库pull request #30454。

信息来源

llama.cpp Releases原始来源

更多

新闻专题
外观