Главная/Блог/Гайд/Сборка llama.cpp: CUDA, Metal, ROCm,…
Гайд3 мин чтения · 2 июля 2026 г.

Сборка llama.cpp: CUDA, Metal, ROCm, Vulkan — гайд

Как собрать llama.cpp под NVIDIA, AMD, Apple и Intel. Разбор флагов, ускорителей и нюансов установки для инференса LLM в РФ.

Сборка llama.cpp: CUDA, Metal, ROCm, Vulkan — гайд

Запуск больших языковых моделей (LLM) локально требует не только мощного железа, но и правильной сборки движка. llama.cpp — это де-факто стандарт для инференса, поддерживающий широкий спектр архитектур. В этой статье разберем, как собрать проект под конкретное железо, какие флаги использовать и чего ожидать от производительности.

01Базовая сборка и CPU-ускорение

Для начала клонируйте репозиторий и создайте базовую сборку через CMake. Это работает на любой системе, но скорость будет ограничена процессором:

terminalbash
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build
cmake --build build --config Release

Для ускорения обработки промптов (не генерации токенов) можно подключить BLAS-библиотеки. На Linux это OpenBLAS или Intel oneMKL. На macOS Accelerate Framework включен по умолчанию. Использование BLAS дает прирост при батчах больше 32, но не влияет на скорость генерации текста.

💡
Совет. Если вы собираетесь часто пересобирать проект, установите ccache. Это значительно ускорит повторные билды, особенно при переключении между флагами GPU.

02NVIDIA CUDA: Золотой стандарт

Для видеокарт NVIDIA необходимо установить CUDA Toolkit. Сборка активируется флагом -DGGML_CUDA=ON:

terminalbash
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release

Важные нюансы:

  • Совместимость: По умолчанию сборка оптимизируется под текущую GPU. Для универсального бинарника, работающего на всех картах (с небольшим оверхедом на JIT-компиляцию), добавьте -DGGML_NATIVE=OFF.
  • Вычислительные возможности: Если nvcc не определяет вашу карту, могут возникнуть предупреждения. В этом случае требуется явное указание compute capability.
  • Дистрибутивы: На Fedora Silverblue/Kinoite сборка через toolbox контейнер является рекомендуемым методом, так как нативных пакетов CUDA там нет.
⚠️
Важно. Для работы с HTTPS/TLS (например, для загрузки моделей из интернета) на Debian/Ubuntu требуется пакет libssl-dev. Без него проект соберется, но функции загрузки по сети будут отключены.

03Apple Metal: Единая память

На macOS Metal включен по умолчанию. Это критически важно для чипов M-серии (M1/M2/M3), так как они используют единую архитектуру памяти. GPU и CPU видят одни и те же данные, что позволяет загружать модели, объем которых превышает VRAM отдельной видеокарты, но укладывается в общую память SoC.

Чтобы принудительно отключить GPU-инференс и работать только на CPU, используйте аргумент командной строки --n-gpu-layers 0. Отключить Metal на этапе сборки можно флагом -DGGML_METAL=OFF.

04AMD ROCm (HIP) и Intel

Для видеокарт AMD используется бэкенд HIP (ROCm). Для видеокарт Intel (серии Arc, Flex, Max) рекомендуется использовать SYCL-бэкенд. Сборка SYCL требует установки oneAPI toolkit и компиляторов icx/icpx.

terminalbash
source /opt/intel/oneapi/setvars.sh
cmake -B build -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=Intel10_64lp -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DGGML_NATIVE=ON
cmake --build build --config Release

Обратите внимание: сборка через oneMKL не поддерживает Intel GPU. Для работы с ними нужен именно SYCL.

05Другие ускорители: Vulkan, OpenVINO, CANN

llama.cpp поддерживает множество других бэкендов:

  • Vulkan: Универсальный бэкенд, работающий на многих GPU (AMD, Intel, NVIDIA), если нативные драйверы недоступны или нежелательны.
  • OpenVINO: Оптимизация для Intel CPU и iGPU, часто дает лучший прирост производительности на процессорах Core 12-14 поколения.
  • CANN: Для ускорителей Huawei Ascend.
  • Arm KleidiAI: Оптимизации для ARM-процессоров (включая Apple Silicon и серверные чипы).

06Какое железо кому подойдёт

Выбор платформы в условиях РФ диктуется доступностью и ценой:

Железо Сценарий Нюансы сборки
NVIDIA RTX 3090/4090 Локальный инференс, обучение -DGGML_CUDA=ON. Максимальная совместимость.
Apple M1/M2/M3 (Pro/Max/Ultra) Мобильность, большие модели По умолчанию. Позволяет грузить 70B+ модели в 64-128GB RAM.
AMD RX 6000/7000 Альтернатива NVIDIA Требует ROCm/HIP. Может быть сложнее в настройке на Linux.
Intel Core i7/i9 + Arc Офис/легкий инференс OpenVINO для CPU, SYCL для Arc. Хорошее соотношение цена/производительность.

Для большинства пользователей в РФ, имеющих доступ к NVIDIA картам, сборка с CUDA остается самым стабильным выбором. Для тех, кто хочет запускать крупные модели (30B+ параметров) без покупки серверных GPU, Mac Studio с большой памятью остается уникальным решением благодаря архитектуре единой памяти.

Источник: Официальная документация ↗