Aceleração por GPU no Ollama: guia prático com CUDA, ROCm e Metal

Atualização de 2026-06-08: revisei o texto com base na documentação oficial de suporte a hardware do Ollama. AMD ROCm no Linux e no Windows agora exige oficialmente ROCm v7/HIP7, não mais uma prévia do Windows; no Apple Silicon, a partir do Ollama 0.19 (prévia de 2026-03), o backend mudou para MLX, ativável com OLLAMA_BACKEND=mlx. Os comandos e a leitura de desempenho neste artigo foram ajustados de acordo.
No terminal, o texto aparecia linha por linha, devagar. Olhei o tempo: 47 segundos. Era a velocidade do Llama 3 8B rodando em um notebook antigo, com CPU no limite, ventoinha disparada e algo como 5 tokens por segundo. A experiência desanima. Eu queria usar aquilo como apoio para escrever código, mas o tempo de esperar a resposta já dava para abrir o Google e procurar a solução.
Depois coloquei a mesma placa de vídeo em um desktop, instalei o driver CUDA e rodei o mesmo modelo com os mesmos parâmetros: 3 segundos.
Não é exagero. É sair de quase um minuto para poucos segundos. Aquela sensação de “já perguntei, quero a resposta agora” finalmente voltou.
Este artigo é para ajudar você a configurar a aceleração por GPU do Ollama. Seja NVIDIA, AMD ou Apple Silicon, vou mostrar como configurar, como verificar e como sair dos problemas mais comuns. A ideia é recuperar esse tempo de espera e usar a máquina para algo mais interessante.
Quanto a GPU acelera de verdade: a diferença real entre 30 segundos e 3 segundos
Começando pela conclusão: rodar um LLM local na GPU pode aumentar a velocidade em 10 a 20 vezes. Isso não é frase de propaganda; é o que medi na prática e também é o consenso de muitos usuários na comunidade.
Você talvez pense: CPU também roda, não roda? Por que mexer com GPU?
Roda. Mas a experiência é outra. Um modelo de 7B parâmetros na CPU costuma gerar algo entre 3 e 8 tokens por segundo; uma resposta de 500 palavras pode levar 20 a 60 segundos. Com GPU, o mesmo modelo pode chegar a 40-80 tokens por segundo e responder em poucos segundos. Essa diferença não é só “um pouco mais rápido”; é a passagem de “dá para usar” para “é bom de usar”.
A sua placa de vídeo é compatível?
O Ollama suporta três plataformas de GPU, cada uma com seus requisitos:
Placas NVIDIA: são as mais comuns e as mais tranquilas de configurar. A exigência oficial é Compute Capability 5.0 ou superior, o que na prática cobre placas a partir da série GTX 900. GTX 1060, RTX 3060, RTX 4090 e similares funcionam sem drama. Tenho uma RTX 3060 de 12GB, e ela roda modelos abaixo de 14B com boa folga.
Placas AMD: a configuração dá um pouco mais de trabalho, mas funciona. No Linux, é preciso ROCm v7; no Windows, o suporte oficial também já exige ROCm v7 / HIP7. A lista de placas compatíveis também importa: as séries RX 6000 e RX 7000 são mais estáveis; placas antigas podem exigir ajustes extras.
Apple Silicon: toda a linha M1/M2/M3/M4 tem suporte, e ele é ativado automaticamente. Quem usa Mac quase não precisa configurar: instale o Ollama e o Metal já entra em ação. Depois de 2026, há também a opção do backend MLX, que melhorou mais um pouco o desempenho.
A VRAM é suficiente?
Esse é o ponto que muita gente deixa passar. Para rodar modelos na GPU, a VRAM é um limite duro.
Uma conta simples: um modelo 7B em quantização 4-bit costuma pedir 5-6GB de VRAM; 14B pede 10-12GB; 70B passa de 40GB. A quantidade de VRAM da sua placa define diretamente o tamanho do modelo que você consegue rodar. Na minha RTX 3060 de 12GB, o Llama 3 8B roda confortável; já o Mixtral 8x7B aperta bastante e precisa jogar parte da memória para CPU.
Antes de configurar GPU, portanto, descubra o modelo da sua placa e a quantidade de VRAM. Isso evita expectativa errada.
NVIDIA CUDA: o caminho mais simples, mas ainda com alguns cuidados
Se você usa uma GPU NVIDIA, boa notícia: entre as três plataformas, provavelmente é a configuração mais simples.
Primeiro confirme se o driver está instalado
Abra o terminal e rode:
nvidia-smi
Se aparecer uma tabela com modelo da GPU, tamanho da VRAM e versão do driver, o driver já está instalado. O Ollama detecta e usa CUDA automaticamente; você não precisa instalar o CUDA Toolkit separado. Sim, é isso mesmo: o Ollama já inclui as bibliotecas CUDA necessárias e economiza uma etapa.
Se aparecer erro dizendo que o comando não existe, instale o driver primeiro. No Ubuntu, você pode rodar:
sudo apt install nvidia-driver-535 # ou uma versão mais recente
Depois reinicie e confirme novamente com nvidia-smi.
E se houver várias GPUs?
Se o modelo couber inteiro na VRAM disponível de uma única GPU, o Ollama o carrega nessa placa para reduzir transferências pelo barramento PCI. Ele só distribui o modelo automaticamente entre as GPUs disponíveis quando nenhuma placa tem espaço suficiente. Ainda assim, você pode escolher placas específicas e reservar outra para tarefas diferentes.
Nesse caso, configure a variável de ambiente:
# Usar apenas a GPU 0
export CUDA_VISIBLE_DEVICES=0
# Usar as GPUs 0 e 2
export CUDA_VISIBLE_DEVICES=0,2
Adicione essa linha ao ~/.bashrc ou à configuração do serviço systemd para persistir.
Rodar Ollama no Docker?
Algumas pessoas gostam de colocar todos os serviços em contêiner, e o Ollama também pode rodar assim. Só que o Docker, por padrão, não acessa a GPU do host; é preciso configurar.
Use o nvidia-container-toolkit oficial da NVIDIA:
# Instalar o toolkit
sudo apt install nvidia-container-toolkit
# Configurar o Docker runtime
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
Depois, ao iniciar o contêiner do Ollama, adicione --gpus all:
docker run -d --gpus all -v ollama:/root/.ollama -p 11434:11434 ollama/ollama
Como confirmar se a GPU está mesmo sendo usada?
Um jeito simples: enquanto o modelo roda, abra outro terminal e execute:
ollama ps
A saída mostra os modelos em execução e o uso de GPU. Se aparecer algo como GPU: 100%, a aceleração está ativa.
Também dá para usar nvidia-smi -l 1 e monitorar a VRAM em tempo real. Ao rodar o modelo, o uso de memória deve subir de forma clara.
AMD ROCm: um pouco mais trabalhoso, mas com boa velocidade quando funciona
Eu entendo a dor de quem usa AMD: a maioria dos tutoriais fala de NVIDIA, e a documentação de AMD costuma ser mais fragmentada. A boa notícia é que o suporte do Ollama a ROCm ficou bem mais estável. Só há mais alguns passos.
O caminho certo no Linux: ROCm v7
Se você usa Ubuntu 22.04 ou uma distribuição mais nova, instalar ROCm não é tão sofrido:
# Adicionar a fonte oficial da AMD
sudo apt update
sudo apt install amdgpu-install
sudo amdgpu-install --usecase=rocm
# Adicionar seu usuário aos grupos de renderização
sudo usermod -aG render,video $USER
# Reiniciar para aplicar
sudo reboot
Depois de reiniciar, use rocminfo para verificar se a GPU foi reconhecida. Se as informações da sua GPU aparecerem, você já pode instalar o Ollama. A versão AMD do Ollama detecta o ambiente ROCm automaticamente, sem configuração extra.
Usuários Windows: antes era prévia, agora o cenário amadureceu
O suporte da AMD no Windows amadureceu bastante neste ano. O Ollama agora também exige oficialmente, no Windows, a pilha ROCm v7 / HIP7, que vem com o AMD Adrenalin. Não é mais aquela prévia inicial v6.1. As séries RX 7000/6000 em geral rodam direto; em placas RDNA4 mais novas, como RX 9000 e gfx1200/1201, o kernel empacotado ainda pode precisar de versão nova ou substituição manual de bibliotecas.
Se a sua placa é nova e mesmo assim não sobe, um plano de contingência é rodar o Ollama via WSL2 + Ubuntu. A estabilidade costuma ser melhor.
E placas antigas? HSA_OVERRIDE pode salvar
Os codinomes de arquitetura das GPUs AMD são meio complicados, e o ROCm oficial só suporta certas arquiteturas mais novas, como gfx900 e gfx1030. Se a sua placa for antiga, por exemplo uma RX 580 (gfx803), o ROCm talvez não a reconheça por padrão.
Nesse caso, dá para tentar forçar a compatibilidade com uma variável de ambiente:
export HSA_OVERRIDE_GFX_VERSION=10.3.0 # força o modo compatível com gfx1030
Isso não resolve todos os casos, mas a comunidade relata sucesso em várias placas antigas. Vale testar; se não funcionar, o caminho é voltar para CPU.
Configuração com múltiplas GPUs
Como na NVIDIA, a AMD também permite escolher quais placas usar:
export ROCR_VISIBLE_DEVICES=0,1 # usa as GPUs 0 e 1
Para ver a numeração das placas, use rocm-smi.
Codinomes comuns de arquitetura em GPUs AMD
Alguns modelos e seus codinomes, para facilitar troubleshooting:
| Modelo da GPU | Codinome da arquitetura | Suporte ROCm |
|---|---|---|
| RX 7900 XTX | gfx1100 | Suporte nativo |
| RX 6800 XT | gfx1030 | Suporte nativo |
| RX 5700 XT | gfx1010 | Suporte nativo |
| RX 580 | gfx803 | Precisa de HSA_OVERRIDE |
| Vega 56/64 | gfx900 | Suporte nativo |
No geral, a configuração da AMD realmente tem mais armadilhas que a da NVIDIA. Mas, depois que roda, a diferença de desempenho não costuma ser grande.
Apple Metal: o benefício escondido para quem usa Mac
Se você usa um Mac com Apple Silicon, como M1/M2/M3/M4, há uma boa notícia: você não precisa configurar nada.
Nada mesmo. Instale o Ollama, rode o modelo e a aceleração por GPU será ativada automaticamente. O framework Metal da Apple já é suportado pelo Ollama, e o sistema carrega o modelo na GPU por conta própria.
Desempenho dos chips da série M
Segundo medições da comunidade, rodar LLM local no Mac pode ser bem prático:
- M1/M2 8GB: modelos 7B, cerca de 15-20 tok/s
- M2 Pro 16GB: modelos 14B, chegando a 25-30 tok/s
- M3 Max 36GB: modelos acima de 30B, mantendo 30+ tok/s
Comparado a uma máquina antiga em CPU-only, isso já é bastante útil. Não chega ao nível de “resposta instantânea” de uma RTX 4090, mas para apoio em código, tradução e revisão de texto no dia a dia, funciona muito bem.
A novidade de 2026: backend MLX
A partir do Ollama 0.19, lançado como prévia em março de 2026, a base de inferência no Apple Silicon passou de llama.cpp para o framework MLX da própria Apple. Ele usa memória unificada diretamente e reduz a cópia de dados entre CPU e GPU.
Segundo os dados oficiais do Ollama, ao trocar para MLX a velocidade de decodificação fica cerca de 1,6 a 2 vezes maior; em quantização int4, por exemplo, sai de aproximadamente 85 tok/s para 134 tok/s. O tempo até o primeiro token também cai. M5/M5 Pro/M5 Max ainda conseguem aproveitar a nova unidade de aceleração neural da GPU.
Na maioria dos casos, você não precisa ativar manualmente: depois de atualizar para 0.19+, o Apple Silicon passa a usar MLX automaticamente. Se quiser forçar explicitamente ou diagnosticar, inicie o serviço com a variável de ambiente:
OLLAMA_BACKEND=mlx ollama serve
Atenção a dois pontos: o MLX ainda está em prévia e fica mais estável com 32GB ou mais de memória unificada; além disso, só algumas arquiteturas de modelo são suportadas. Se um modelo não for compatível, o Ollama volta automaticamente para Metal sem erro.
Como confirmar se a GPU está trabalhando?
Abra o Activity Monitor, vá para a aba GPU History e rode o modelo. Você deve ver o uso da GPU subir claramente. Se o tempo todo apenas a CPU se mexe e a GPU fica parada, talvez o Metal não tenha sido ativado. É raro; normalmente reinstalar o Ollama resolve.
O que fazer quando a detecção de GPU falha: troubleshooting comum
Configuração de hardware quase sempre envolve alguma dor. Reuni aqui os problemas que já encontrei e as soluções mais úteis, para você gastar menos tempo em becos sem saída.
Problema 1: no compatible GPUs were discovered
Esse erro é um dos mais comuns. Ele significa que o Ollama não encontrou uma GPU utilizável.
Causas possíveis:
- Driver não instalado ou muito antigo
- Modelo de GPU sem suporte, como placas antigas da série GTX 700
- Contêiner Docker sem permissão de acesso à GPU
Passos de verificação:
# NVIDIA: confirmar driver
nvidia-smi
# AMD: confirmar ROCm
rocminfo
# Se o comando falhar, instale o driver primeiro
Problema 2: Not compiled with GPU offload support
Esse erro indica que a versão do Ollama baixada não tem suporte a GPU.
Solução: baixe novamente a versão correta pelo site oficial. Usuários AMD devem observar que o Ollama tem uma versão específica para ROCm; o link de download não é o mesmo da versão CUDA. Não pegue o pacote errado.
Problema 3: driver NVIDIA antigo demais
O Ollama exige driver NVIDIA pelo menos na versão 450. Se o sistema ainda usa uma versão antiga na faixa dos 400, CUDA não vai funcionar.
# Ver a versão atual do driver
nvidia-smi | grep "Driver Version"
# Se a versão for antiga, atualize o driver
sudo apt install nvidia-driver-535
Problema 4: driver amdgpu ausente no AMD
No Linux, placas AMD precisam do driver amdgpu para funcionar corretamente. Alguns sistemas carregam por padrão o driver antigo radeon, que não suporta ROCm.
# Verificar o driver carregado
lsmod | grep amdgpu
# Se não houver saída, instale manualmente
sudo apt install amdgpu-dkms
Problema 5: SELinux bloqueia o acesso do contêiner à GPU
Esse problema apareceu comigo em sistemas da família CentOS/RHEL. A política padrão do SELinux pode bloquear o acesso do contêiner aos dispositivos de GPU.
Solução temporária:
sudo setenforce 0 # desativa temporariamente o SELinux
A solução permanente exige ajustar a política do SELinux, o que é mais complexo. Nesse caso, vale consultar a documentação oficial da Red Hat. Ou simplesmente usar Ubuntu, que dá menos trabalho.
Resumo de comandos de verificação
Para fechar, aqui vai uma lista rápida de comandos. Quando algo falhar, siga esta ordem:
# 1. Ver se a GPU é reconhecida pelo sistema
nvidia-smi # NVIDIA
rocminfo # AMD
system_profiler SPDisplaysDataType # macOS
# 2. Ver o estado do processo do Ollama
ollama ps
# 3. Monitorar uso de GPU em tempo real enquanto o modelo roda
watch -n 1 nvidia-smi # NVIDIA
rocm-smi -a # AMD
# 4. Ver variáveis de ambiente
echo $CUDA_VISIBLE_DEVICES
echo $ROCR_VISIBLE_DEVICES
A maioria dos problemas aparece com esses comandos. Se ainda não der certo, procure nos GitHub Issues do Ollama; muita gente na comunidade já passou pelas mesmas dores.
Leitura complementar
- Guia de escolha de hardware para LLM local com Ollama
- Guia completo de otimização de desempenho do Ollama
- Agendamento de múltiplas GPUs no Ollama, na prática
Para fechar
Depois de tudo isso, aqui vai uma tabela rápida de consulta:
| Plataforma | Pré-requisito | Dificuldade de configuração | Recomendação |
|---|---|---|---|
| NVIDIA | Driver 450+ | Simples, quase zero configuração | Primeira opção |
| AMD (Linux) | ROCm v7 | Média, alguns comandos | Segunda opção |
| AMD (Windows) | Driver ROCm v7 / HIP7 | Média, placas RDNA4 novas talvez precisem esperar patches | Segunda opção |
| Apple Silicon | Sem configuração | A mais simples | Primeira opção para usuários de Mac |
Aceleração por GPU é uma daquelas configurações que você faz uma vez e aproveita por muito tempo. Sair do “roda na CPU” para o “fica bom na GPU” muda bastante a experiência. Qual é a sua plataforma de GPU? Encontrou algum problema no processo? Compartilhe nos comentários; quando eu vir, tento responder.
Configurar aceleração por GPU no Ollama
Fluxo completo de configuração de aceleração por GPU nas três plataformas
⏱️ Estimated time: 30 min
- 1
Step 1: Confirmar o modelo da GPU e o driver
Escolha a forma de verificação conforme a sua placa:
- NVIDIA: rode nvidia-smi para ver as informações da GPU
- AMD: rode rocminfo para confirmar que o ROCm reconhece a placa
- macOS: não precisa verificar; Metal é ativado automaticamente - 2
Step 2: Configurar NVIDIA CUDA
É o caminho mais simples: basta instalar o driver.
1. Instale o driver: sudo apt install nvidia-driver-535
2. Reinicie o sistema
3. Verifique: nvidia-smi deve mostrar as informações da GPU
4. O Ollama detecta CUDA automaticamente, sem configuração extra - 3
Step 3: Configurar AMD ROCm no Linux
É preciso instalar o ROCm v7:
1. Instale: sudo apt install amdgpu-install
2. Configure: sudo amdgpu-install --usecase=rocm
3. Permissões: sudo usermod -aG render,video $USER
4. Depois de reiniciar, verifique com rocminfo
5. Placas antigas talvez precisem de: export HSA_OVERRIDE_GFX_VERSION=10.3.0 - 4
Step 4: Verificar se a aceleração por GPU está ativa
Ao rodar o modelo, confirme se a GPU está trabalhando:
- Rode ollama ps para ver o uso de GPU
- NVIDIA: nvidia-smi -l 1 para monitoramento em tempo real
- AMD: rocm-smi -a para monitoramento em tempo real
- macOS: veja GPU History no Activity Monitor - 5
Step 5: Configurar ambiente com múltiplas GPUs
Especifique quais placas usar:
- NVIDIA: export CUDA_VISIBLE_DEVICES=0,2
- AMD: export ROCR_VISIBLE_DEVICES=0,1
- Adicione a variável de ambiente ao ~/.bashrc para persistir
FAQ
Quais plataformas de GPU o Ollama suporta?
O que fazer se a VRAM da minha GPU não for suficiente?
Como confirmar se a aceleração por GPU está funcionando?
Placas AMD antigas, como RX 580, funcionam?
Como usar GPU dentro de um contêiner Docker?
Como ativar o backend MLX no Apple Silicon?
O que fazer com o erro 'no compatible GPUs were discovered'?
13 min de leitura · Publicado em: 25 abr 2026 · Atualizado em: 14 jul 2026
Guia Ollama LLM local
Se você chegou pela busca, o caminho mais rápido é ir para o post anterior ou próximo desta série.
Anterior
Tabela de hardware para Ollama: VRAM, quantização e guia de GPU (2026)
Uma tabela completa para escolher hardware para Ollama: requisitos de VRAM para modelos 7B/13B/70B, comparativo de quantização Q4/Q8 e detalhes de NVIDIA CUDA, AMD ROCm e Apple Metal. Da RTX 3060 a 5090, veja como combinar GPU e modelo.
Parte 6 de 18
Próximo
Agendamento de GPU e gestão de recursos no Ollama: otimização de VRAM e balanceamento entre várias GPUs
Otimize a VRAM e distribua cargas entre várias GPUs no Ollama com ajustes de parâmetros, Nginx, fundamentos do llama.cpp e três casos práticos.
Parte 8 de 18



Comentários
Entre com GitHub para comentar