
VRAM dita o modelo. Qwen denso 27B–32B, Llama 70B quantizado, Mixtral 8×7B — isso pede 32 a 64 GB, não os 24 GB de uma 4090. O engenheiro Donato Capitella, com a Bargain Hardware, montou um Supermicro recondicionado com quatro GPUs de datacenter (64 GB no total) por cerca de £2.000 e mediu V100, P100 e MI25 no mesmo chassi. Este texto segue o vídeo Refurbished 64GB VRAM AI Server for Local AI.
Quem já roda Ollama no desktop bate no teto da placa de consumo. Aqui a aposta é outra: chassi de servidor, placa passiva, llama.cpp compilado para a arquitetura certa. O porquê dos Tensor Cores da V100 ganharem da P100 está no post como funcionam as placas de vídeo e no GPU vs TPU.
O chassi: Supermicro de 12ª geração
A base do vídeo é um servidor empresarial Supermicro (torre/rack 4U–5U, família CSE-747) pensado para HPC, não para ficar embaixo da mesa:
2× Intel Xeon Gold 6150 36 núcleos / 72 threads
64 GB DDR4 ECC Registered 4× 16 GB @ 2666 MHz
2× SSD SATA 480 GB + NVMe U.2
4× PCIe 3.0 x16 full-height, dual-slot
2× 10GbE na placa-mãe
turbinas frontais ar forçado nas aletas
fontes redundantes 1600–2000 W
Tesla e Instinct de datacenter são passivas: não têm ventoinha na placa. Quem empurra o ar são as turbinas do chassi, a milhares de RPM, através das aletas de cobre. Desktop gamer com 4× V100 cozinha as placas — e o PSU doméstico não aguenta o pico.
V100 vs P100 vs MI25
Três jogos de quatro placas de 16 GB (64 GB no total):
| Tesla V100 16 GB | Tesla P100 16 GB | Instinct MI25 16 GB | |
|---|---|---|---|
| Arquitetura | Volta 12 nm (sm_70) | Pascal 16 nm (sm_60) | Vega 10 14 nm (gfx900) |
| Memória | 16 GB HBM2, 900 GB/s | 16 GB HBM2, 720–900 GB/s | 16 GB HBM2, 484 GB/s |
| Tensor Cores | sim (1ª geração, 640) | não | não |
| Precisões | FP16/32/64, INT8 | FP16/32/64 | FP16/32 |
| BF16 / FP8 | não nativo | não nativo | não nativo |
| Stack | CUDA / llama.cpp | CUDA / llama.cpp | ROCm / Vulkan / llama.cpp |
O divisor é o Tensor Core. LLM é MatMul; a V100 faz a matriz em lote. P100 e MI25 fazem o mesmo caminho no CUDA core / SIMD da Vega — mais lento, mais barato. Nenhuma das três fala BF16 nativo: o runtime converte para FP16.
Detalhe de 2026 que o vídeo já antecipa na prática: o CUDA 13 tirou o sm_70. A V100 é a última arquitetura com suporte de primeira classe no CUDA 12.x. Os containers do Donato pinam CUDA 12.6.3 e compilam llama.cpp com -DCMAKE_CUDA_ARCHITECTURES=70. Toolkit 13 no host = binário que não gera código para a placa.
Software: llama.cpp, não vLLM
Donato publica toolboxes (Toolbx/Podman) com llama.cpp já compilado para cada die:
- nvidia-v100-ai-toolboxes — CUDA 12.6.3, sm_70
- nvidia-p100-ai-toolboxes — sm_60
- mi25-gfx900-ai-toolboxes — gfx900, ROCm/Vulkan
# V100: toolbox com llama.cpp CUDA sm_70
toolbox create -c llama-v100-cuda \
--image docker.io/kyuz0/nvidia-v100-ai-toolboxes:latest
toolbox enter llama-v100-cuda
llama-cli --list-devices # precisa ver as 4× 16 GB
Na hora de servir, llama.cpp ganha: GGUF maduro (Q4_K_M, Q4_K_XL, Q8_0), split automático das camadas nas 4 GPUs (-ngl 99), overhead pequeno. vLLM é o padrão de produção em Hopper/Blackwell; em Volta/Pascal recai para SDPA do PyTorch, AWQ quase não cola, e o load pelo PCIe 3.0 dói.
llama-server \
-m /models/qwen-27b-instruct-q4_k_xl.gguf \
-ngl 99 \
-c 32768 \
-fa on \
--host 0.0.0.0 --port 8080
Quem já usa o fluxo GGUF sem o daemon do Ollama tem o llama-model no mesmo espírito: um binário, um servidor, sem camada a mais. O curso de Docker cobre o Podman/Toolbx se o host ainda não tem.
Números: Qwen 27B Q4
Modelo denso, quantização 4 bits, o recorte que o vídeo usa como assistente de código. Números do próprio Donato (llama.cpp, NGL=99, flash attention):
geração (tokens/s) Qwen 27B Q4
4× V100 16 GB ~31–34 (ainda ~28 com contexto 32k)
4× P100 16 GB ~18–22
4× MI25 16 GB ~14–17
prompt processing V100
curto: ~852 tok/s
32k: ~620 tok/s
31 tok/s é conversa interativa. 20 tok/s da P100 serve agente em background. MI25 carrega o modelo pelo menor preço de entrada — banda de 484 GB/s e zero acelerador de matriz pesam. MoE grande (Qwen 122B-A10B Q3 no README das toolboxes) cabe nos 64 GB; a vazão cai, a VRAM é o que importa.
O que dói no dia a dia
- Ruído 60–75 dB. Quatro passivas de 250–300 W cada. Não vai para o quarto nem para debaixo da mesa. Rack, porão, garagem, sala de servidor.
- PCIe 3.0. ~16 GB/s por slot x16. Load de um GGUF de 30–50 GB: 1 a 3 minutos. NVLink de V100 existe, mas só em chassi/SXM específico — a torre típica de Bargain Hardware é PCIe solto.
- BF16 vira FP16. Modelo moderno pré-treinado em bfloat16 perde um pouco de faixa de expoente. Quantização bem calibrada (Unsloth Q4_K_XL etc.) reduz a dor.
- Energia. 4× GPU + 2× Xeon 150 W + turbinas: 800–1.200 W contínuos. Circuito e PSU redundante não são opcionais.
- CUDA 13. Não “atualize o toolkit e pronto”. Fique no 12.6 das toolboxes, ou o binário ignora a V100.
Vale a pena em 2026?
Se a meta é 64 GB de VRAM local para 27B–32B denso ou MoE, e o orçamento é £2.000–3.000, 4× V100 ainda é o melhor retorno do lote: Tensor Core de verdade, llama.cpp estável, máquina pronta com fonte industrial. P100 é o meio-termo. MI25 é a porta de entrada AMD, ciente da banda.
Não é silencioso, não é PCIe 5.0, não é BF16 nativo. É soberania de dado: o modelo não sai do rack. Uma 4090/5090 nova continua ganhando em tok/s por watt e em software (vLLM, FP8) — e continua sem os 64 GB.
Referências
- Donato Capitella — Refurbished 64GB VRAM AI Server
- Toolboxes V100 (CUDA 12.6.3 / sm_70)
- Toolboxes P100 (sm_60)
- Toolboxes MI25 (gfx900)
- IA local no Linux com Ollama
- llama-model: GGUF e llama-server sem o daemon
- Como funcionam as placas de vídeo
- GPU vs TPU
Quatro V100 num chassi barulhento não viram uma H100. Viram 64 GB de VRAM que uma placa de consumo ainda não vende — e um llama.cpp que, compilado para sm_70, conversa em 30 tokens por segundo sem mandar o prompt para a nuvem.