O projeto llama.cpp lançou a versão b9928, introduzindo novos layouts VTCM e pipelines melhorados para o backend hexagon. Essas mudanças visam especificamente aprimoramentos de desempenho para as operações MUL_MAT, MUL_MAT_ID e FLASH_ATTN_EXT.
- Refatorado o cálculo de parâmetros do kernel para usar um builder de layout comum.
- Adicionadas barreiras explícitas do compilador para tornar as funções hmx mais robustas.
- Implementado um builder de layout VTCM mais genérico para kernels de multiplicação de matrizes e flash-attn.
- Desenrolados os kernels internos e substituídos intrinsics por assembly inline para evitar problemas do compilador.
- Otimizados os pipelines DMA, prefetching e caminhos de fallback de sincronização.
- Adicionado polling híbrido ao workpool e melhorados os mecanismos de despertar de filas.
O lançamento fornece binários para macOS (Apple Silicon e Intel), iOS, Linux (Ubuntu x64, arm64, s390x), Android, Windows e openEuler através de vários backends de hardware incluindo CPU, CUDA, ROCm, Vulkan, OpenVINO, SYCL e HIP.