Проект llama.cpp выпустил сборку b10777, включающую оптимизации бэкенда SYCL для умножения матрицы на вектор (MMVQ) с использованием Q4_K и нескольких столбцов. Обновление сосредоточено на сокращении избыточных вычислений за счёт распаковки весов и повторного использования активаций.
- Оптимизирует распаковку весов Q4_K и повторно использует данные между целевыми столбцами.
- Реализует повторное использование подгрупп активаций для малых значений N (N=2..4) в двух выходных строках.
- Ограничивает шаблон повторного использования двух строк конкретно для N=2, чтобы повысить эффективность.
- Обновляет пороговое магическое число до Q4_K_MMVQ_ROW_PAIR_MIN_NROWS=6272 и добавляет тесты производительности для покрытия MUL_MAT с Q4_K.
Этот релиз предоставляет предварительно собранные бинарные файлы для macOS, Linux, Android, Windows и openEuler на различных аппаратных бэкендах, включая CPU, CUDA, ROCm, Vulkan, OpenVINO и SYCL.