Проект llama.cpp выпустил версию b10891, которая решает критическую проблему стабильности на графических процессорах PowerVR. Обновление изменяет бэкенд Vulkan для перехода к редукции через общую память при операциях умножения деquantized матрицы на вектор (dmmv).
- Изменение устраняет сбой, вызванный проприетарным компилятором Vulkan от Imagination, возвращающим VK_ERROR_UNKNOWN при построении вычислительных конвейеров с редукцией только по субгруппам.
- Исправление применяется к форматам квантования k-quants, i-quants, TQ2_0, MXFP4 и NVFP4, которые ранее не работали на таких устройствах, как Pixel 11 Pro.
- Вариант редукции через общую память успешно компилируется и даёт результаты, совпадающие с эталонными результатами CPU для квантований от q2_K до q6_K.
- Также доступен гибридный вариант, но он приводит к значительному снижению производительности, уменьшая пропускную способность токенов до 27% от стандартной скорости.
Это обновление гарантирует, что модели, использующие указанные форматы квантования, могут работать на оборудовании PowerVR без сбоев на этапе начальной генерации токенов.