Проект llama.cpp выпустил версию b9928, вводя новые layout'ы VTCM и улучшенные конвейеры для бэкенда hexagon. Эти изменения направлены на повышение производительности операций MUL_MAT, MUL_MAT_ID и FLASH_ATTN_EXT.
- Переписаны вычисления параметров ядра с использованием общего builder'a layout'ов.
- Добавлены явные барьеры компилятора для повышения надежности функций hmx.
- Реализован более универсальный builder layout'а VTCM для ядер умножения матриц и flash-attn.
- Развернуты внутренние ядра, а встроенные функции заменены на встроенный ассемблерный код для избежания проблем компилятора.
- Оптимизированы конвейеры DMA, предвыборка данных и пути резервного синхронизирования.
- Добавлена гибридная опросная система в workpool и улучшены механизмы пробуждения очередей.
Релиз предоставляет бинарные файлы для macOS (Apple Silicon и Intel), iOS, Linux (Ubuntu x64, arm64, s390x), Android, Windows и openEuler для различных аппаратных бэкендов, включая CPU, CUDA, ROCm, Vulkan, OpenVINO, SYCL и HIP.