Проект llama.cpp выпустил сборку b11064, которая изменяет бэкенд metal для поддержки произвольного количества голов (hc) в ядре dsv4_hc_pre. Ранее эти ядра жестко задавали hc = 4, что приводило к выполнению операций с другим количеством голов на CPU.
- Изменение передает n_hc как константу функции и перебирает ее в обоих предварительных ядрах с прямыми загрузками.
- Были добавлены случаи тестирования backend-ops для значений hc 1, 2, 3, 5, 8 и 65, охватывающие как сценарии с гейтированием, так и без него.
- Это обновление позволяет таким моделям, как Kimi-K3, эффективно работать на GPU за счет поддержки динамического количества банков чекпоинтов в стеке остаточных связей между слоями.
Релиз включает бинарные файлы для macOS, Linux, Windows, Android и openEuler для различных аппаратных бэкендов, включая CPU, CUDA, ROCm, Vulkan, OpenVINO и SYCL.