O projeto llama.cpp lançou a versão b9893, introduzindo otimizações gerais de desempenho para a decodificação do flash attention OpenCL. Esta atualização adiciona kernels de decodificação flash-attention vetorizados para os formatos de cache KV f16, q8_0 e q4_0 e melhora os kernels de multiplicação de matrizes KQ sem flash-attention.

  • As operações de decodificação DK=512 são descarregadas para a CPU porque são limitadas pela largura de banda e mais rápidas lá do que na GPU à medida que a profundidade aumenta.
  • Os kernels de flash attention de consulta múltipla são compilados em um programa mínimo para evitar que o compilador Adreno fique sem memória em dimensões maiores.
  • O tamanho de divisão padrão para a decodificação f16-KV é reduzido de 2048 para 512 para utilizar melhor os recursos da GPU em cargas de trabalho de consulta única.
  • Uma correção de falha aborda uma leitura fora do intervalo quando block_n não está definido para cenários de decodificação DK=512.

O lançamento inclui binários para macOS, Linux, Android, Windows e openEuler através de CPU, CUDA, Vulkan, ROCm e outros backends.