В llama.cpp v0.9.0 добавили начальную поддержку NCCL — библиотеки NVIDIA для обмена данными между GPU при параллельных вычислениях. В тесте разработчика две соединённые DGX Spark генерировали текст с помощью модели Qwen3.8-27B примерно в 1,8 раза быстрее, чем одна. Результаты приводит PC Watch.
llama.cpp и раньше умел распределять вычисления модели между несколькими машинами. Теперь при доступности NCCL его RPC-сервер может использовать эту библиотеку для объединения частичных результатов вместо прежнего способа прямого обмена данными. Изменение появилось после обновления лежащей в основе llama.cpp библиотеки ggml до версии 0.29.0. В описании выпуска поддержку NCCL называют начальной.
При использовании NCCL две DGX Spark обрабатывали входной запрос со скоростью 1348,29 токена в секунду, а генерировали ответ — со скоростью 23,51 токена в секунду. На одной машине разработчик получил соответственно 846,54 и 13,02 токена в секунду: прирост составил около 1,6 и 1,8 раза. Токен — единица текста, с которой работает модель.
По прежней схеме две машины уже ускоряли генерацию примерно в 1,7 раза относительно одной. Заметнее NCCL повлияла на обработку входного запроса: раньше прирост на этом этапе составлял около 1,1 раза. Разработчик объясняет разницу тем, что при генерации за один обмен передаётся меньше данных, чем при обработке запроса.
Источник: PC Watch.