Avanzato 15 minllama.cpp

Compilare llama.cpp con CUDA: guida alla compilazione passo dopo passo

Ollama e LM Studio incorporano llama.cpp, ma spesso restano indietro di 1 o 2 versioni, con flag conservativi. Compilare llama.cpp da soli significa guadagnare dal 20 al 40% di velocità su una RTX recente e avere accesso alle funzionalità appena uscite. Questa guida copre Windows, Linux e la compilazione con CUDA.

Di Mohamed Meguedmi·Agg. 2026-03-05·Testato su Windows, macOS e Linux

#Perché compilare da soli

Funzionalità in anteprima
Nuove quantizzazioni (IQ4_NL, Q2_K_S), nuovi modelli (Mamba, DeepSeek), flag sperimentali.
Prestazioni ottimali
Build ottimizzato per la tua CPU specifica (AVX-512, AMX) e la tua generazione CUDA (sm_89 per RTX 40, sm_90 per RTX 50).
Strumenti di basso livello
llama-bench per eseguire benchmark, llama-cli per creare script, llama-server per un endpoint essenziale (senza UI né dipendenze).
i
Chi dovrebbe compilare?
Se sei uno sviluppatore, ti interessano le prestazioni o lavori su Mamba/Jamba non supportati da Ollama: sì. Altrimenti, Ollama fa il 95% del lavoro senza compilazione.

#Prerequisiti

CUDA Toolkit 12.x
Scaricabile su developer.nvidia.com. Non confondere con i driver — il Toolkit include nvcc, il compilatore.
CMake 3.21+
apt install cmake su Linux, tramite chocolatey su Windows.
Compilatore C++
gcc 11+ su Linux, MSVC 2022 Build Tools su Windows
Git
Per clonare e aggiornare.

#1. Clonare il repo

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

#2. Compilazione 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 compilazione dura da 3 a 10 minuti a seconda della tua CPU. I binari vengono salvati in build/bin/ (Linux) o in build/bin/Release/ (Windows).

Il kit IA Locale

Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita
→
Build ottimizzata per la tua GPU
Aggiungi -DCMAKE_CUDA_ARCHITECTURES=89 per puntare esclusivamente alle RTX 40 (o 90 per le RTX 50). Il binario è più piccolo e la compilazione più veloce.

#3. Testare

Download di 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
Inferenza
./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
Server HTTP compatibile con OpenAI
./build/bin/llama-server \
  -m ./models/mistral-7b-instruct-v0.2.Q4_K_M.gguf \
  --port 8080 \
  -ngl 99 \
  -c 8192

#4. Flag di ottimizzazione

-ngl N
Numero di layer caricati sulla GPU. Imposta 99 (o di più) per caricare tutto, se la VRAM lo permette.
-fa
Flash Attention. Velocità aumentata del 20-30 %, minore consumo di VRAM per il contesto. Attivala sempre se la tua GPU è Ampere o successiva (RTX 30xx e successive).
-c N
Lunghezza del contesto. Non impostare un valore superiore al necessario: la cache KV consuma VRAM.
-b N / -ub N
Dimensione del batch e micro-batch. 512/512 di default. 1024/512 per accelerare il processing del prompt.
--no-mmap
Disattiva il mmap. Da testare se il caricamento iniziale è lento su alcuni SSD.

#5. Tenersi aggiornati

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

llama.cpp pubblica diversi commit al giorno. Eseguire git pull una volta alla settimana è un buon ritmo. In caso di regressione, usa git checkout su un tag preciso (es.: b4400).

#Risoluzione dei problemi

nvcc not found
Il toolkit CUDA non è presente nel PATH. Su Linux: export PATH=/usr/local/cuda/bin:$PATH.
Mancata corrispondenza della versione CUDA
Driver NVIDIA più vecchi del Toolkit. Aggiorna i driver (per ogni Toolkit è richiesta una versione pari o superiore a quella necessaria).
Errore di collegamento con cuBLAS
LD_LIBRARY_PATH errato. Aggiungi /usr/local/cuda/lib64.
Compilazione fallita con MSVC
Apri un 'x64 Native Tools Command Prompt for VS 2022', non PowerShell. Alcuni strumenti cmake non trovano cl.exe altrimenti.
Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.