A versão b10306 do llama.cpp introduz otimizações de desempenho para o backend SYCL, focando especificamente nas operações de Unidade Linear com Gating (GLU). A atualização adiciona um caminho rápido contíguo para operações GLU fundidas e consolida kernels anteriormente distintos para compartilhar um único lançador.
- Adiciona casos de teste de desempenho do SWIGLU cobrindo 17408 colunas com 512 e 2048 tokens em f16 e f32.
- Consolida kernels GLU fundidos ao passar a operação como argumento, removendo as constantes SYCL_GELU_BLOCK_SIZE e SYCL_SILU_BLOCK_SIZE não utilizadas.
- Implementa um despacho de kernel plano para operandos contíguos onde a matemática do índice de desintercalamento se reduz à identidade.
- Alcança uma melhoria de desempenho de +14% em f16 e +4% em f32 para GLU dividido em um Arc Pro B70, com operações fundidas permanecendo inalteradas.
Essas alterações melhoram a eficiência do backend SYCL ao reduzir a duplicação de código e otimizar os padrões de acesso à memória para configurações específicas de tensores.