llama.cpp发布b11573:Vulkan后端为f16累加改用打包FMA,移除dot product算子
该版本更新日志显示,Vulkan后端在f16累加路径上不再使用dot product算子,改为打包FMA;dot_product更名为dot_product_v2,并按每f16 FMA打包两行。发布页同时提供各平台预编译产物。
AI解读:同一提交说明还提到两项改动:dot_product按每f16 FMA打包两行;dot_product被更名为dot_product_v2。
发布页按平台列出预编译产物,包括macOS/iOS、Linux、Android、Windows,以及UI等条目。
发布方未在页面中给出性能对比数据或受影响模型范围,因此该次改动在多大程度上改变推理速度无法从来源判断。
llama.cpp发布b11573版本。发布页中列出的变更为Vulkan后端在f16累加路径上改用打包FMA,不再使用dot product算子。
本次变更内容
发布说明以提交标题形式给出:「vulkan: pack FMA for f16 accumulation, no dot product op (#29877)」。随后两条补充说明写道,dot_product按每f16 FMA打包两行,并将dot_product更名为dot_product_v2。
这些改动描述均出自该发布页本身,页面未附性能基准或正确性测试结果。
- Vulkan后端:f16累加改为打包FMA
- 不再使用dot product算子
- dot_product按每f16 FMA打包两行
- dot_product更名为dot_product_v2
本次提供的构建产物
发布页按平台列出可下载的预编译产物与对应链接。列出的平台包括macOS/iOS、Linux、Android、Windows,以及一份UI归档。
其中若干条目被标注为DISABLED:macOS Apple Silicon(arm64,启用KleidiAI)被禁用;openEuler相关的四个条目(x86 310p、x86 910b ACL Graph、aarch64 310p、aarch64 910b ACL Graph)同样被禁用。
Linux条目覆盖CPU(x64、arm64、s390x)、Vulkan(x64、arm64)、CUDA 12、CUDA 13、ROCm 10.0、OpenVINO、SYCL FP32/FP16,以及Snapdragon(CPU、Adreno GPU、Hexagon NPU)。Windows条目覆盖CPU(x64、arm64)、OpenCL Adreno(arm64)、CUDA 12/CUDA 13(含x64与arm64)、Vulkan(x64、arm64)、OpenVINO、SYCL、ROCm 10.0。Android条目覆盖arm64 CPU与Snapdragon(CPU、Adreno GPU、Hexagon NPU),并附设置指南链接。
- macOS/iOS:Apple Silicon arm64、Intel x64、iOS XCFramework;KleidiAI版标注DISABLED
- Linux:CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL FP32/FP16、Snapdragon
- Android:arm64 CPU、Snapdragon(CPU、Adreno GPU、Hexagon NPU)
- Windows:CPU、OpenCL Adreno、CUDA 12/13、Vulkan、OpenVINO、SYCL、ROCm 10.0
- openEuler四个条目均标注DISABLED
适用对象与限制
该次改动针对Vulkan后端中的f16累加路径,涉及的是使用Vulkan后端的构建;发布页未说明是否影响其他后端或其他数据类型的计算结果。
发布页未提供量化速度对比、受支持GPU范围或回归测试结论,因而无法据此判断该改动带来的性能变化幅度。
- 作用范围限于Vulkan后端的f16累加路径
- 发布页未给出性能数据、适用GPU列表或测试结果