llama.cpp b10236 版本引入了 DSv4 Lightning Indexer 的 Metal 实现,专门支持 128 维输入,配合 F32 查询和权重以及 F16 键和掩码。

  • 更新包括用于处理接近 8 和 64 元素边界的 KV 长度的分块和尾部内核。
  • K 分块在 simdgroup 矩阵加载之前在 F16 线程组内存中进行暂存和反量化,支持 F32、F16、BF16 以及各种量化格式。

基准测试显示,与先前版本相比,在 10k、20k 和 30k token 序列长度下,预填充吞吐量 (pp512) 有所提升。

此优化通过改善 Lightning Indexer 的内存访问模式,提升了 Apple Silicon 设备上的推理性能。