llama.cpp b11293为ggml新增BF16一元、GLU、二元与缩放算子(CPU、CUDA)
该版本在ggml层加入BF16一元、GLU、二元和scale运算的CPU与CUDA实现,并修复HIP bf16构建;ggml-openvino后端明确拒绝BF16 SCALE与混合类型BF16 ADD/MUL/SUB。
llama.cpp发布b11293,合并请求 #29675 为ggml增加BF16一元、GLU、二元和scale算子,覆盖CPU与CUDA后端。
CPU与CUDA的实现路径
在CPU侧,改动改用逐算子的 _bf16函数处理BF16一元和GLU运算。CUDA侧则在binbcast与一元kernel中使用ggml_cuda_cast,用以修复HIP的bf16构建问题。
- CPU:BF16一元、GLU运算使用per-op _bf16函数
- CUDA:binbcast和一元kernel改用ggml_cuda_cast
- 修复目标:HIP上的bf16构建
OpenVINO后端明确拒绝的部分
同一合并请求中,ggml-openvino被改为拒绝BF16 SCALE,以及混合类型的BF16 ADD/MUL/SUB。也就是说,OpenVINO路径目前不接受这两类BF16运算组合。
- 拒绝BF16 SCALE
- 拒绝混合类型BF16 ADD/MUL/SUB
发布产物
b11293的发布页列出了macOS、iOS、Linux、Android、Windows等平台的预编译包,Linux侧包含Ubuntu x64/arm64/s390x的CPU包,以及Vulkan、CUDA 12.8、CUDA 13.4、ROCm 10.0、OpenVINO 2026.4、SYCL FP32/FP16等变体。
Windows侧提供x64/arm64 CPU、OpenCL Adreno、CUDA 12.4、CUDA 13.4、Vulkan、OpenVINO 2026.4、SYCL、ROCm 10.0等包。Android提供arm64 CPU以及骁龙(CPU、Adreno GPU、Hexagon NPU)版本。
macOS提供Apple Silicon arm64与Intel x64包,并附带iOS XCFramework;其中开启KleidiAI的Apple Silicon包被标注为DISABLED。openEuler相关构建同样标注为DISABLED。
- 平台覆盖:macOS/iOS、Linux、Android、Windows
- Linux后端变体:CPU、Vulkan、CUDA 12.8/13.4、ROCm 10.0、OpenVINO 2026.4、SYCL FP32/FP16
- macOS KleidiAI包与openEuler构建标注DISABLED