Проект llama.cpp увеличил вынесенный предел row-id для операции Vulkan mul_mat_id с 256 до 1024 экспертов. Это изменение устраняет узкие места производительности в моделях с большим количеством экспертов, таких как Qwen3.8-Flash-Next, которые ранее работали по более медленному пути кода из-за ограничений размера разделяемого массива.
Обновление изменяет шейдер count_experts.comp для использования константы MAX_EXPERTS равной 1024, увеличивая размер разделяемых массивов до 12 КиБ, оставаясь в пределах гарантии Vulkan в 16 КиБ. На оборудовании Strix Halo с размером пакета 2048 время умножения матриц экспертов снижается с 12,5 до 9,5 мс для iq3_s и с 14,0 до 7,5 мс для iq4_nl на операцию. Скорость обработки запроса улучшается примерно на 19% при 8k токенов, а тесты бэкенда MUL_MAT_ID проходят успешно с новыми случаями для 1024 экспертов.
Эта оптимизация позволяет llama.cpp эффективно обрабатывать модели, превышающие предыдущий порог в 512 экспертов, без деградации производительности на оборудовании, совместимом с Vulkan.