llama.cpp 项目发布了版本 b11140,其中包含一项 CUDA 优化,可为 dsv4 prefill 启用 sparse-fa。此更新通过模板化内核以允许编译时循环展开,解决了 flash attention 掩码扫描过程中的性能问题。

  • `flash_attn_mask_to_sparse_indices` 的查询循环现在在编译时进行边界限制,将具有 49k 列的稀疏解码形状(sparse decode shapes)的扫描时间从 46 微秒减少到 17 微秒。
  • 稀疏掩码扫描的越界检查已移至主机代码,使得在 49k 上下文下的批量稀疏操作时间从 586 微秒降至 244 微秒。

此版本为 macOS、Linux、Windows、Android 和 openEuler 提供了适用于 CPU、GPU 和 NPU 后端的二进制文件。