Проект llama.cpp выпустил сборку b11266, которая включает оптимизацию Vulkan, загружающую матрицы F32 A по два элемента за раз, когда они выровнены по границе 2. Это изменение решает проблемы производительности на оборудовании Intel, где последовательная загрузка чисел с плавающей точкой неэффективна, а также исправляет отсутствующую проверку выравнивания `a_offset` в исходном патче.
- Изменение использует существующую логику загрузки с выравниванием по 2 в `mul_mat_vec` для повышения пропускной способности на архитектурах Intel BMG.
- Результаты бенчмарков на Intel B60 показывают значительное ускорение для определённых форм умножения матриц: производительность выросла с 153.08 GFLOPS до 221.66 GFLOPS в одном тестовом случае и достигла 1.63 TFLOPS в другом.
- Релиз предоставляет бинарные файлы для macOS (Apple Silicon и Intel), Linux (CPU, Vulkan, CUDA, ROCm, OpenVINO, SYCL, Snapdragon), Android, Windows и openEuler.
Это обновление улучшает производительность вывода на GPU Intel с использованием бэкенда Vulkan за счёт оптимизации шаблонов доступа к памяти для операций с матрицами с плавающей точкой.