开源llama.cpp Releases·原文 2026年9月8日

llama.cpp b10844为Vulkan后端加入DeepSeek-V4超连接融合算子

Vulkan成为最后一个为DeepSeek-V4添加融合算子(DSV4_HC_COMB/PRE/POST)的主要后端,此前在Strix Halo上未融合的Sinkhorn链约占解码操作时间的 32%。

llama.cpp发布b10844版本,为Vulkan后端添加了DeepSeek-V4超连接(hyper-connection)的融合算子DSV4_HC_COMB、DSV4_HC_PRE和DSV4_HC_POST。此前CUDA已在DeepSeek-V4合并中引入这些算子,Metal在PR 26459中加入,Vulkan是最后一个仍在运行未融合原始算子链的主要后端。

性能背景与实现细节

根据发布说明,在DeepSeek-V4-Flash上,gfx1151(Strix Halo)设备中未融合的Sinkhorn组合链单独约占解码操作时间的 32%,分布在每token约 16,000 次调度中。新的dsv4_hc_comb在寄存器中运行完整的 20 次迭代Sinkhorn算法,每个token的 4x4组合矩阵位于 16 个连续子组通道中,通过subgroupShuffleXor按 1|2 减小行、按 4|8 减小列,以匹配CPU参考布局。一次调度取代了每个站点约 137 次严格有序的节点执行。由于shuffle掩码从不跨越 16 通道边界,大小为 64 的子组可打包 4 个独立token。dsv4_hc_pre和dsv4_hc_post处理逐元素流折叠和扇出,每个token的系数暂存在共享内存中。

  • 新的 _COMB、_PRE、_POST变体可独立启用或禁用,便于将单个内核与未融合图进行对比。
  • 环境变量GGML_VK_DISABLE_DSV4_HC可禁用全部三个算子。
  • 在生产n_iter=20 下,跨子组和工作组边界的批量大小增加了评估用例。

版本构建说明

b10844提供多个平台的预编译二进制:macOS Apple Silicon (arm64) 及Intel (x64)、iOS、Ubuntu x64/arm64/s390x的CPU和Vulkan构建、ROCm 10.0、OpenVINO、SYCL(FP32/FP16)等;Windows提供CPU、CUDA 12.4/13.3/13.4、Vulkan、OpenVINO、SYCL、ROCm 10.0等构建;另有Android arm64 (CPU) 和Windows arm64 (OpenCL Adreno) 构建。

macOS Apple Silicon的KleidiAI启用版本当前处于禁用状态,相关PR为 #23780;openEuler的x86/aarch64(310p、910b ACL Graph)构建同样被禁用,相关PR为 #23705。

信息来源

llama.cpp Releases原始来源