O lançamento b9820 do llama.cpp introduz melhorias de desempenho ao reintroduzir menos sincronizações durante o cálculo dividido, focando especificamente nos backends CUDA. Esta atualização também fornece binários pré-compilados para macOS, Linux, Windows, Android e openEuler em CPUs, GPUs e aceleradores de hardware especializados.

  • Melhora o desempenho do CUDA por meio da redução das sincronizações entre tokens.
  • Adiciona capacidade de cópia de CPU para CUDA na função ggml_backend_cuda_cpy_tensor_async().
  • Relaxa os requisitos de sincronização entre cópias de entrada em backends suportados como CUDA.
  • Troca a cópia síncrona pela função de cópia assíncrona e adiciona macros de proteção para compilações sem CUDA.
  • Reestrutura a detecção de backend em ggml-backend.cpp para evitar conflitos de vinculação.
  • Corrige bugs de paralelismo de pipeline no backend hip, adicionando sincronizações de GPU única em configurações multi-GPU.
  • Exclui hip/MUSA da otimização de cópia dividida de CPU para GPU como medida preventiva.

O lançamento permite inferência mais rápida em dispositivos CUDA por meio de operações assíncronas otimizadas, mantendo a compatibilidade em uma ampla gama de sistemas operacionais e backends de hardware.