llama.cpp 项目发布了构建版本 b10863,其中包含对 `ne00` 小于 1024 时 Metal 上 `mul_mv_iq3_xxs` 内核中空闲线程的修复。该更新通过为特定矩阵维度引入单独的拆分内核,解决了半空闲 simdgroup 问题。

  • 修复了 `ne00 < 1024` 时 `kernel_mul_mv_iq3_xxs_f32` 中的半空闲 simdgroup。
  • 保持 `N_R0_IQ3_XXS = 4`,并在 `ne00/32 < 32` 且能被 32 整除时分派单独的 8 行拆分内核。
  • 使用函数常量来选择 `iq3_xxs` 行拆分,而不是单独的内核实例化。

此版本为 macOS、iOS、Linux、Android、Windows 和 openEuler 提供了二进制文件,涵盖包括 CPU、CUDA、ROCm、Vulkan 和 OpenVINO 在内的各种硬件后端。