O projeto llama.cpp lançou a compilação b10863, que inclui uma correção para threads ociosas no kernel `mul_mv_iq3_xxs` no Metal quando `ne00` é menor que 1024. A atualização aborda um problema de simdgroup meio ocioso introduzindo um kernel dividido separado para dimensões específicas da matriz.

  • Corrige o simdgroup meio ocioso em `kernel_mul_mv_iq3_xxs_f32` para `ne00 < 1024`.
  • Mantém `N_R0_IQ3_XXS = 4` e despacha um kernel dividido separado de 8 linhas quando `ne00/32 < 32` e divide 32.
  • Usa uma constante de função para selecionar a divisão de linha `iq3_xxs` em vez de uma instanciação de kernel separada.

Este lançamento fornece binários para macOS, iOS, Linux, Android, Windows e openEuler em vários backends de hardware incluindo CPU, CUDA, ROCm, Vulkan e OpenVINO.