llama.cpp 项目发布了版本 b10908,其中包括对 ne00 < 1024 的剩余 iq mul_mv 内核中空闲线程的修复。此更改将行分割逻辑推广到六个特定内核:iq1_s、iq1_m、iq2_xxs、iq2_xs、iq2_s 和 iq3_s。

  • 该修复解决了行数少于 32 个块的情况,允许线程共享块并获取行的切片。
  • 它在 iq mul_mv 内核中将 src0 行指针偏移一次,因为 q2、dh、sc、qh 和符号是从 xr 派生的。
  • 实现将 iq mul_mv 行分割折叠到 offset0 中,以保持 x 及其派生指针在现有路径上。

此版本为 macOS、Linux、Android、Windows 和 openEuler 提供了二进制文件,涵盖各种架构,包括 CPU、CUDA、ROCm、Vulkan 和 SYCL。