llama.cpp b11528修复张量并行部分卸载时的KV缓存视图断言
该版本在meta后端接受宿主张量视图节点,修复了使用 --split-mode tensor配合部分卸载时KV缓存视图触发的断言;同时重新启用K2 Horizon的sm tensor。
llama.cpp发布b11528。发布说明列出的主要代码改动是meta后端处理宿主张量视图(#30217),修复了在使用 --split-mode tensor配合部分卸载时KV缓存视图触发的断言。
修复发生在哪种使用条件下
发布说明把触发条件写得很窄:使用 --split-mode tensor且采用部分卸载时,KV缓存视图会让meta后端断言。改动是让元后端接受这类节点——当它们是宿主张量的视图时不再拒绝。
发布说明解释原因:视图与其view_src共享内存,因此ggml-alloc从不在视图落入的分片缓冲区中分配视图;调度器把源拷贝进分片,使用该视图的算子读取这份拷贝。视图节点自身是noop,不需要自己的分片。
但此前meta后端在meta分片里留下这样的节点时会断言。发布说明点出两处:ggml_backend_meta_get_split_state() 解引用了tensor->buffer->context;图重建把每个节点都经ggml_backend_meta_buffer_simple_tensor() 映射。接受宿主张量视图节点也泛化了先前的s_copy_main临时方案。
同批次的另一项改动与发布物
发布说明还提到为K2 Horizon重新启用sm tensor,并有一条cont: 添加TODO与引用。
b11528附带多平台预编译二进制:macOS(arm64、x64)、iOS XCFramework、Ubuntu(x64/arm64/s390x的CPU,以及Vulkan、CUDA 12.8、CUDA 13.4、ROCm 10.0、OpenVINO、SYCL FP32/FP16)、Linux arm64(Snapdragon的CPU、Adreno GPU、Hexagon NPU)、Android arm64、Windows(CPU、OpenCL Adreno、CUDA 12.4/13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0)以及UI包。
发布说明中macOS Apple Silicon的KleidiAI版本标注为DISABLED,openEuler各构建也标注为DISABLED。改动标注Assisted-by: pi:llama.cpp/Qwen3.8-Flash-Next。