llama.cpp b10728 版本引入了 Flash Attention K,V 共享内存 fp16 块的 CUDA XOR swizzle 实现。此更新还解决了 DGX Spark 硬件上 Flash Attention 的共享内存竞争条件。

  • 为 CUDA 实现了带有 fp16 块的 XOR swizzle flash attention。
  • 修复了使用 64 位通用指针而非 32 位共享指针的问题。
  • 添加了 swizzle 测试用例,并将同步限制为仅 swizzle 路径。
  • 允许对 nbatch_2%32==0 的非 2 的幂形状进行 swizzling。
  • 将 Flash Attention swizzle ldmatrix 逻辑重构为辅助函数。

该版本为 macOS、Linux、Windows、Android 和 openEuler 提供了适用于 CPU、CUDA、Vulkan、ROCm、OpenVINO 和 SYCL 后端的二进制文件。