Compilar llama.cpp com CUDA: guia de build passo a passo
Ollama e LM Studio encapsulam o llama.cpp — mas geralmente ainda têm 1 ou 2 versões atrasadas, com flags conservadores. Compilar o llama.cpp sozinho é recuperar 20 a 40% de velocidade em uma RTX recente e ter acesso a funcionalidades que só acabaram de sair. Este guia cobre Windows, Linux e o build CUDA.
#Por que compilar você mesmo
- Funcionalidades em primeira mão
- Novas quantizações (IQ4_NL, Q2_K_S), novos modelos (Mamba, DeepSeek), flags experimentais.
- Desempenho ótimo
- Compilação otimizada para seu CPU específico (AVX-512, AMX) e sua geração CUDA (sm_89 para RTX 40, sm_90 para RTX 50).
- Ferramentas de baixo nível
- llama-bench para executar benchmarks, llama-cli para usar em scripts, llama-server para um endpoint básico (sem UI nem dependências).
#Pré-requisitos
- CUDA Toolkit 12.x
- Disponível para download em developer.nvidia.com. Não confundir com os drivers — o Toolkit inclui nvcc, o compilador.
- CMake 3.21+
- apt install cmake no Linux, via chocolatey no Windows.
- Compilador C++
- gcc 11+ no Linux, MSVC 2022 Build Tools no Windows.
- Git
- Para clonar e atualizar.
#1. Clonar o repositório
#2. Build com CUDA
A compilação leva de 3 a 10 minutos, dependendo do seu processador. Os binários ficam em build/bin/ (Linux) ou build/bin/Release/ (Windows).
Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
#3. Testar
#4. Flags de otimização
- -ngl N
- Quantidade de camadas carregadas no GPU. Use 99 (ou mais) para carregar tudo, desde que a VRAM permita.
- -fa
- Flash Attention. Aumento de 20–30% na velocidade e redução da VRAM usada pelo contexto. Ative sempre se a sua GPU for Ampere+ (RTX 30xx ou posterior).
- -c N
- Comprimento do contexto. Não use mais do que o necessário: o KV cache consome a VRAM.
- -b N / -ub N
- Tamanho do lote e micro-lote. 512/512 por padrão. 1024/512 para acelerar o processamento do prompt.
- --no-mmap
- Desativa o mmap. Testar se o carregamento inicial estiver lento em determinados SSDs.
#5. Manter-se atualizado
llama.cpp lança vários commits por dia. Um git pull semanal é um bom ritmo. Caso haja regressão, use git checkout em uma tag específica (ex: b4400).
#Solução de problemas
- nvcc not found
- O CUDA Toolkit não está no PATH. No Linux: export PATH=/usr/local/cuda/bin:$PATH.
- Desalinhamento de versão CUDA
- Drivers NVIDIA mais antigos que o Toolkit. Atualize os drivers (é necessária uma versão igual ou superior à exigida por cada Toolkit).
- Erro de vinculação com cuBLAS
- LD_LIBRARY_PATH incorreto. Adicione /usr/local/cuda/lib64.
- Build falha com MSVC
- Abra um 'x64 Native Tools Command Prompt for VS 2022', não o PowerShell. Caso contrário, algumas ferramentas cmake não encontram cl.exe.
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.