O lançamento llama.cpp b10956 introduz um algoritmo de seleção de radix para o backend SYCL a fim de lidar com valores grandes de k na operação TOP_K, que anteriormente fazia fallback para CPU quando k > 32. Essa alteração permite o processamento residente na GPU para grandes k por meio de passes baseados em histograma que mantêm o footprint da memória local compartilhada independente de k.
- A nova implementação suporta valores de k até 2048 e além, eliminando viagens de ida e volta do backend para operações como o indexador de atenção esparsa do qwen4exp.
- As melhorias de desempenho incluem um speedup de 4.98x em ne=[131072,1] com k=2048 e até 118x mais rápido em configurações específicas de batch em comparação ao fallback para CPU.
- Testes end-to-end em 3x Arc Pro B60 com Qwen3.8-Flash-Next mostram um aumento de throughput de 5.91 para 6.05 t/s em d=131072, com perplexidade permanecendo inalterada.
- O lançamento inclui binários para macOS, Linux, Windows, Android e openEuler nos backends CPU, CUDA, ROCm, Vulkan, OpenVINO e SYCL.
Esta atualização permite operações top_k de grande k eficientes em dispositivos SYCL, impedindo gargalos de desempenho em modelos que exigem valores altos de k para seleção de tokens.