Релиз llama.cpp b10831 вводит поддержку квантования TQ1_0 для бэкенда Vulkan, обеспечивая такие операции, как умножение матриц, mat-vec, деквантование и get_rows. Это обновление также исправляет бэкенд Metal, чтобы он корректно отказывался от неподдерживаемых операций TQ1_0, гарантируя их переход на выполнение в CPU.
- Реализация Vulkan упаковывает степени тройки TQ1_0 в 32-битную константу для избежания проблем с регистрами.
- Общие вспомогательные функции декодирования в types.glsl заменяют дублирующуюся логику в различных файлах шейдеров.
- Исправлена ошибка в вычислении знаменателя рабочей группы в отдельном шейдере деквантования.
- Бэкенд Metal теперь отклоняет TQ1_0 для GET_ROWS и mat-mul, что соответствует существующей обработке NVFP4.
- Тестовые случаи сокращены, а комментарии стандартизированы до ASCII.
Изменения в Vulkan были проверены на AMD gfx1151, все соответствующие операции бэкенда прошли тесты.