O projeto llama.cpp consolidou os padrões de fusão de operações do backend Metal em uma única tabela, compartilhada pelo otimizador de grafos e pelos codificadores de operações. Essa alteração também corrige um bug nos índices absolutos de saída que estava causando uma regressão de ~5% na velocidade de geração de tokens.

  • Todos os padrões de operação fusíveis são agora declarados uma vez em ggml-metal-fuse.cpp, garantindo consistência entre as fases de otimização e computação.
  • Uma correção para os índices absolutos dos nós do grafos impede que o último nó dos padrões de fusão seja incorretamente submetido a verificações de contagem de uso, restaurando a fusão norm/MUL.
  • Novo suporte permite que kernels gating_delta_net se fundam com operações de cópia de cache, gravando snapshots diretamente no buffer do cache KV.
  • A flag de fusão 'raw' foi renomeada para 'unsafe' para esclarecer que callbacks específicos do padrão servem como único validador de segurança.
  • Uma nova API ad-hoc fornece estatísticas de fusão independentes de backend para testes, incluindo um conjunto de testes de regressão comparando logits fundidos e não fundidos via NMSE.

Essas atualizações melhoram a manutenibilidade do código ao unificar a lógica de fusão e restaurar perdas de desempenho causadas por falhas silenciosas de fusão em versões anteriores.