O backend Metal introduz novos kernels de multiplicação matricial para 2 a 16 linhas de origem, permitindo uma decodificação especulativa mais rápida em dispositivos Apple Silicon que não possuem a API tensor. Esses kernels desquantizam os pesos uma vez e dividem as dimensões K entre threadgroups, oferecendo ganhos de desempenho significativos em relação às abordagens mat-vec anteriores.
- Implementa kernels MMA específicos para Q4_0, Q8_0, Q5_K e caminhos genéricos para F32, F16 e outros tipos de quantização.
- Ativa esses kernels no hardware MTLGPUFamilyApple7+ quando as contagens de linhas excedem os limiares em que superam os kernels mat-vec.
- Adiciona lógica de fusão para combinar operações MUL_MAT + ADD e agrupar até 16 cópias adjacentes f32 do mesmo layout em um único dispatch.
- Atualiza o otimizador de gráfico e o codificador para lidar com propriedades do dispositivo, verificações de concorrência e rastreamento de visualizações para grupos fundidos.
Esta otimização resolve regressões de desempenho na decodificação especulativa no hardware M3 Ultra, garantindo que as operações tensoriais permaneçam eficientes mesmo com tamanhos de lote pequenos.