A versão b11405 do llama.cpp atualiza o backend CUDA aplicando tiles ao indexador lightning sobre chaves e tokens para 4 cabeças, resolvendo problemas de desempenho com contagens pequenas de cabeças.
- O kernel armazena em buffer as consultas e pesos para todas as cabeças de uma vez, ampliando cada elemento de chave de meia precisão uma vez para alimentar todas as cabeças sem uma viagem de ida e volta float.
- As consultas permanecem em float dentro da memória compartilhada para evitar estouro de produtos half2 quando q * k excede o intervalo f16.
- Cada thread agora pontua duas chaves para um único token, reduzindo leituras compartilhadas e mantendo o gfx908 em 63 VGPRs sem transbordamento de registrador.
- Esta otimização torna o kernel 36x mais rápido em uma R9700 e ligeiramente mais rápido em hardware CUDA.
A versão fornece binários para macOS, Linux, Windows, Android e openEuler através dos backends CPU, GPU (CUDA, ROCm, Vulkan, OpenCL) e NPU.