llama.cpp b11985发布:Metal后端优化MXFP4矩阵向量运算与GLU线程分配
该版本合并PR #31075,在Metal后端用fp16位技巧替换线程组查找表来解码fp4值,并将一元、二元及GLU运算改为以最多 256 线程的完整线程组启动;同日发布macOS、Linux、Windows、Android等多平台构建包。
llama.cpp发布构建版本b11985,主要变更为Metal后端的三项调整,合并自PR #31075。发布说明由仓库自动发布账号github-actions[bot] 发出。
Metal后端的三项改动
MXFP4矩阵向量内核改用fp16位技巧解码fp4值,替代线程组查找表,并将打包的半字节按对齐的 32 位字加载。改动后该内核不再使用线程组内存。
连续一元运算路径和行广播二元运算路径此前每个线程组只启动一个线程;现在改为每个线程组最多 256 个线程,并对尾部做边界检查。
GLU的一行此前由一个线程组处理,因此单行解码时整个运算只占用一个线程组。现在每行被拆分到最多 256 线程的多个线程组上执行。
随版本提供的构建包
发布页列出macOS Apple Silicon(arm64)与macOS Intel(x64)构建包、iOS XCFramework;Linux侧包括Ubuntu x64/arm64/s390x的CPU构建,以及Vulkan、CUDA 12.8、CUDA 13.4、ROCm 10.0、OpenVINO 2026.4.1、SYCL FP32/FP16等变体。
Windows侧提供x64/arm64 CPU、CUDA 12.4/13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0构建;Android提供arm64 CPU与Snapdragon(CPU、Adreno GPU、Hexagon NPU)构建;另有UI包。
macOS Apple Silicon的KleidiAI启用版本与openEuler相关的多个构建在发布页标注为DISABLED,并链接到对应PR。