O projeto llama.cpp lançou a compilação b10545, que aborda um bug crítico no kernel de multiplicação de matrizes da API de tensores do backend Metal. A atualização previne comportamento indefinido e resultados corrompidos ao processar tensores onde a dimensão K não é múltipla de 32.

  • A operação matmul2d agora usa dynamic_extent para K em vez de um tamanho de bloco estático.
  • As visualizações de tensores de operandos são limitadas ao intervalo K válido restante em cada iteração.
  • Esta mudança elimina leituras fora dos limites que anteriormente causavam valores NaN ou corrupção de dados.
  • Casos de teste foram adicionados para exercitar o caminho com K não alinhado e verificar a correção.

Esta correção garante estabilidade numérica para modelos com dimensões de matriz não alinhadas em dispositivos Apple Silicon, prevenindo erros silenciosos durante a inferência.