O projeto llama.cpp lançou a versão b9948, que inclui uma otimização chave para a biblioteca ggml no CUDA. A atualização modifica `ggml_top_k()` e `ggml_argsort()` para processar dados em blocos menores, reduzindo assim o uso de memória dos buffers temporários.

  • Implementado processamento em blocos tanto nas implementações de top-k quanto de argsort do CUDA CUB.
  • Alocado `tmp_dst` apenas uma vez antes do loop para otimizar ainda mais a memória.
  • Substituídos operadores ternários por funções min/max para maior clareza do código.
  • Lançados binários para macOS (Apple Silicon e Intel), Linux, Windows, Android e openEuler através dos backends CPU, CUDA, Vulkan, ROCm, OpenVINO, SYCL e HIP.

Este lançamento fornece aos usuários builds atualizados para várias plataformas enquanto aborda a eficiência de memória em operações específicas do CUDA.