Проект 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.