В выпуске llama.cpp b11292 устранено ограничение CPU-бэкенда, влиявшее на глубинную одномерную свёртку с ядром в формате BF16 — 16-битном числовом формате. Теперь CPU-бэкенд преобразует такой вход в 32-битное число с плавающей запятой для вычислений, как и ядро умножения матрицы на вектор в Metal.
В выпуске также изменены проверки Vulkan: BF16 принимается в качестве второго матричного входа, только если первый вход тоже имеет формат BF16. Другие сочетания помечаются как неподдерживаемые, поэтому планировщик выполняет их на CPU. В примечаниях упоминаются добавленные тесты, но не указано, когда изменения появятся в готовом приложении и какие пользователи их получат.
Почему это важно
Разработчики, использующие глубинную свёртку BF16, теперь могут выполнять на CPU комбинацию, которую этот бэкенд раньше отклонял. В примечаниях не указано, когда исправление появится в приложениях, использующих llama.cpp.