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

llama.cpp b11554发布:Vulkan后端用预扫描处理mul_mat_id重复ID

该版本将Vulkan的mul_mat_id重复ID处理从前置循环改为预扫描生成紧凑tile列表,官方说明称可收紧工作组数量上界、让尾部提前退出;同时照例放出多平台预编译包。

AI解读:这个版本唯一实质代码变更是Vulkan后端在mul_mat_id中对重复ID的处理方式,PR编号 #29998,由Anjielon共同参与。

改动把原本用循环处理重复ID的逻辑移到预扫描阶段,预扫描会输出一份紧凑的tile描述列表,需要时可以为一行专家数据发出多个tile。

据提交说明,这样可以让启动的工作组数量上界更紧,尾部工作可以简单地提前退出。

官方只描述了实现方式与预期的线程/工作组调度收益,未给出量化性能数据或适用模型的基准结果。

发布页照例提供macOS、iOS、Linux、Android、Windows及openEuler等平台的预编译包,其中macOS的KleidiAI变体和openEuler变体标注为DISABLED。

llama.cpp发布b11554版本,本次唯一实质代码改动针对Vulkan后端:在mul_mat_id中处理重复ID时,从原来的循环方式改为在预扫描阶段完成,对应PR #29998,提交者包括Anjielon。

Vulkan后端mul_mat_id重复ID处理方式变化

提交信息显示,原先对mul_mat_id重复ID的处理是在循环里进行,现在改为在预扫描阶段处理:当ID重复时,mul_mm_id会计算专家矩阵的每一行。改动将“hoist row ids”优化扩展为始终启用,并输出一份紧凑的tile描述列表,按需为同一行发出多个tile。

提交信息给出的预期效果是:可以更紧地限定工作组数量的上界,尾部工作因此可以简单地提前退出。这是对实现层面的描述,发布页未附基准测试或具体性能提升数字。

随版本提供的预编译包

发布页照例列出各平台预编译包,覆盖macOS(Apple Silicon arm64、Intel x64、iOS XCFramework)、Linux(Ubuntu x64/arm64/s390x、Vulkan、CUDA 12.8与 13.4、ROCm 10.0、OpenVINO、SYCL FP32/FP16、Snapdragon)、Android(arm64 CPU、Snapdragon)、Windows(CPU、OpenCL Adreno、CUDA 12.4与 13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0)以及UI包。

  • macOS Apple Silicon(arm64,启用KleidiAI)在发布页中标注为DISABLED,指向PR #23780。
  • openEuler的x86/aarch64(310p、910b ACL Graph)条目同样标注为DISABLED,指向PR #23705。

信息来源

llama.cpp Releases原始来源

更多

新闻专题
外观