Avanzado 15 minllama.cpp

Compilar llama.cpp con CUDA: guía de compilación paso a pas

Ollama y LM Studio encapsulan llama.cpp, pero a menudo llevan 1 o 2 versiones de retraso, con opciones conservadoras. Compilar llama.cpp por tu cuenta permite ganar entre un 20 y un 40 % de velocidad en una RTX reciente y acceder a las funciones que acaban de salir. Esta guía cubre Windows, Linux y la compilación con CUDA.

Por Mohamed Meguedmi·Actualización 2026-03-05·Probado en Windows, macOS y Linux

#¿Por qué compilar por tu cuenta?

Características en versión preliminar
Nuevas cuantizaciones (IQ4_NL, Q2_K_S), nuevos modelos (Mamba, DeepSeek), flags experimentales.
Rendimiento óptimo
Compilación optimizada para tu CPU específica (AVX-512, AMX) y tu generación CUDA (sm_89 para RTX 40, sm_90 para RTX 50).
Herramientas de bajo nivel
llama-bench para medir el rendimiento, llama-cli para usar en scripts, llama-server para un endpoint básico (sin interfaz de usuario ni dependencias).
i
¿Quién debería compilar?
Si eres desarrollador, te interesa el rendimiento o trabajas con Mamba/Jamba que Ollama no admite: sí. Si no, Ollama hace el 95 % del trabajo sin necesidad de compilar.

#Prerrequisitos

CUDA Toolkit 12.x
Descargable en developer.nvidia.com. No confundir con los drivers — el Toolkit incluye nvcc, el compilador.
CMake 3.21+
apt install cmake en Linux, mediante chocolatey en Windows.
Compilador C++
gcc 11+ en Linux, MSVC 2022 Build Tools en Windows.
Git
Para clonar y actualizar.

#1. Clonar el repositorio

Terminal
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp

#2. Compilación con CUDA

Linux / macOS
cmake -B build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j $(nproc)
Windows (PowerShell)
cmake -B build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j

La compilación tarda entre 3 y 10 minutos según tu CPU. Los binarios quedan en build/bin/ (Linux) o build/bin/Release/ (Windows).

El kit de IA Local

Tu ChatGPT privado y gratuito en tu máquina en 1 hora — LM Studio, Ollama, Open WebUI, tus documentos, sin nube.

  • Espacio en línea de por vida
  • PDF + archivos
  • Reembolsado 30 j
→
Compilación optimizada para tu GPU
Añade -DCMAKE_CUDA_ARCHITECTURES=89 para compilar únicamente para RTX 40 (o 90 para RTX 50). El binario es más pequeño y la compilación más rápida.

#3. Probar

Descarga de un GGUF
# Via Hugging Face CLI
pip install huggingface_hub
huggingface-cli download \
  TheBloke/Mistral-7B-Instruct-v0.2-GGUF \
  mistral-7b-instruct-v0.2.Q4_K_M.gguf \
  --local-dir ./models
Inferencia
./build/bin/llama-cli \
  -m ./models/mistral-7b-instruct-v0.2.Q4_K_M.gguf \
  -p "Explique ce qu'est un LLM en 3 phrases." \
  -n 256 \
  -ngl 99  # nombre de couches sur GPU
Servidor HTTP compatible con OpenAI
./build/bin/llama-server \
  -m ./models/mistral-7b-instruct-v0.2.Q4_K_M.gguf \
  --port 8080 \
  -ngl 99 \
  -c 8192

#4. Flags de optimización

-ngl N
Número de capas cargadas en GPU. Pon 99 (o más) para cargar todo si la VRAM lo permite.
-fa
Flash Attention. +20-30 % de velocidad y menor consumo de VRAM para el contexto. Actívalo siempre si tu GPU es Ampere+ (RTX 30xx y posteriores).
-c N
Longitud del contexto. No configures un valor mayor de lo necesario: la caché KV consume VRAM.
-b N / -ub N
Tamaño de lote y micro-lote. 512/512 por defecto. 1024/512 para acelerar el procesamiento del prompt.
--no-mmap
Desactiva mmap. Probar si la carga inicial es lenta en algunos SSD.

#5. Mantenerse actualizado

Update
cd llama.cpp
git pull
cmake --build build --config Release -j

llama.cpp publica varios commits diarios. Un git pull semanal es un buen ritmo. En caso de regresión, utiliza git checkout con una etiqueta específica (por ejemplo: b4400).

#Solución de problemas

nvcc not found
CUDA Toolkit no está en el PATH. En Linux: export PATH=/usr/local/cuda/bin:$PATH.
Desajuste de versión CUDA
Controladores NVIDIA más antiguos que el Toolkit. Actualiza los controladores (cada Toolkit requiere una versión igual o superior a la exigida).
Error de enlace con cuBLAS
LD_LIBRARY_PATH incorrecto. Añade /usr/local/cuda/lib64.
La compilación falla con MSVC
Abre un 'x64 Native Tools Command Prompt for VS 2022', no PowerShell. De lo contrario, algunas herramientas de cmake no encuentran cl.exe.
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.