The llama.cpp project released version b10908, which includes a fix for idle threads in the remaining iq mul_mv kernels for ne00 < 1024. This change generalizes the row split logic to six specific kernels: iq1_s, iq1_m, iq2_xxs, iq2_xs, iq2_s, and iq3_s.

  • The fix addresses cases where rows have fewer than 32 chunks by allowing threads to share chunks and take slices of the rows.
  • It offsets the src0 row pointer once in the iq mul_mv kernels since q2, dh, sc, qh, and signs are derived from xr.
  • The implementation folds the iq mul_mv row split into offset0 to keep x and its derived pointers on the existing path.

This release provides binaries for macOS, Linux, Android, Windows, and openEuler across various architectures including CPU, CUDA, ROCm, Vulkan, and SYCL.