llama.cpp b11046为OpenCL添加flash_attn_f32_f16_bin内核支持
llama.cpp发布b11046版本,主要变更是OpenCL后端新增flash_attn_f32_f16_bin二进制内核,并对prefill阶段的flash attention做了保护处理。
AI解读:这条更新直接影响在OpenCL设备上跑llama.cpp的用户,尤其是Windows上的Adreno arm64和通过OpenCL使用移动GPU的场景;官方发布的Windows arm64 OpenCL Adreno包可以反映这一点。
普通CPU或CUDA、Vulkan、ROCm、SYCL、OpenVINO用户本次没有对应的功能变化,升级与否取决于是否需要OpenCL路径下的flash attention支持。
来源是GitHub Releases上的发布说明,仅列出改动摘要和构建产物清单,没有给出性能数据、测试覆盖范围或已知限制,实际效果需要用户自行验证。
llama.cpp发布b11046版本,发布说明列出的唯一代码改动是OpenCL后端新增二进制内核flash_attn_f32_f16_bin(PR #29046),并对prefill阶段的flash attention做了保护处理。
该改动由发布说明中的两条要点描述:第一是“opencl: add flash_attn_f32_f16_bin”,第二是“opencl: guarded prefill fa”。发布说明没有提供性能对比或测试结果。
OpenCL新增内核与prefill保护
b11046的改动集中在OpenCL后端,新增的flash_attn_f32_f16_bin是一个二进制内核,用于flash attention计算;同时发布说明提到对prefill阶段的flash attention做了保护(guarded),意味着在OpenCL路径下运行预填充时该功能受到条件约束,但发布说明没有说明保护的具体触发条件。
- 改动对应PR #29046,标题为opencl: add support for bin kernel flash_attn_f32_f16_bin。
- 发布说明仅给出两条要点,没有附带性能数据或适用模型范围。
build产物与平台覆盖
发布页面同时列出了各平台的预编译包。OpenCL相关的构建产物是Windows arm64 (OpenCL Adreno) 包;其他平台包涵盖macOS、iOS、Linux、Android、Windows和openEuler,分别对应CPU、Vulkan、CUDA 12、CUDA 13、ROCm 10.0、OpenVINO、SYCL等后端。
- OpenCL相关产物:Windows arm64 (OpenCL Adreno) zip。
- macOS Apple Silicon的KleidiAI启用版本标记为DISABLED;openEuler构建也标记为DISABLED。
- UI包单独提供,与后端内核改动无关。