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

llama.cpp b11310修复CUDA后端IQ4_NL反量化越界写入

llama.cpp发布b11310,其中cuda部分修复了IQ4_NL反量化行内核在短行上的越界读写问题(#29683)。

AI解读:这条更新的核心是一个内存安全修复,不是性能或功能变化。IQ4_NL量化的行长度只保证是QK4_NL的倍数,而dequantize_block_iq4_nl每个block固定写QK_K个值,当行比QK_K短时,线程会读写到行尾之外。

修复方式是跳过起点已到或超过k的 32 值子块;如果行长度本身就是QK_K的倍数,这个检查永远不会触发。也就是说,改动只影响那些行长度不是QK_K倍数的IQ4_NL张量。

对使用CUDA后端加载IQ4_NL量化模型的人来说,这类越界访问此前可能表现为结果错误或进程崩溃,具体是否发生取决于模型的行长度布局。升级到b11310即可拿到该修复,其他后端和行长度对齐的模型不受影响。

注意这是发布说明级别的信息,来源只给出了改动描述和下载链接,没有提供复现用例、影响范围统计或性能数据。

llama.cpp发布b11310版本,其CUDA后端针对IQ4_NL反量化行内核新增了对短行的保护(PR #29683)。

改动说明指出:dequantize_block_iq4_nl每个block写入QK_K个值,但一行可以比QK_K短——IQ4_NL行只保证是QK4_NL的倍数。当前,32 值子块起点等于或超过k的线程会读写越过该行的末尾。

修复方式是跳过这些子块。说明同时指出,对于行长度是QK_K倍数的行,该检查永远不会触发。

该版本随附macOS/iOS、Linux、Android、Windows等多平台二进制与库下载,包括CUDA 12.8/12.4、CUDA 13.4、ROCm 10.0、Vulkan、OpenVINO、SYCL、OpenCL Adreno等构建;macOS上KleidiAI启用版仍标记为DISABLED,openEuler构建同样标记为DISABLED。来源未提供这些构建的额外说明。

信息来源

llama.cpp Releases原始来源