
Por trás de cada token do ChatGPT, de cada frame do Sora e de cada LLM que você roda no Ollama, tem um acelerador fazendo a mesma conta trilhões de vezes: multiplicação de matrizes. Os dois jeitos de fazer isso em silício — GPU (NVIDIA) e TPU (Google) — partem de filosofias opostas. Este texto parte do vídeo GPU vs TPU: How AI Chips Actually Work, do Pouria Taj.
O vídeo usa a H100 y la TPU v5e como peças de ensino. Em 2026 o chão de fábrica já é Blackwell de um lado e Trillium/Ironwood do outro — a lição de arquitetura não mudou.
Por que IA é MatMul
Um LLM não vomita o parágrafo de uma vez. A geração é autoregressiva: o prompt vira embeddings, o Transformer produz uma distribuição sobre o próximo token, o token escolhido volta para a entrada, e o ciclo se repete.
Nos diagramas, neurônios e setinhas. No silício, matrizes de pesos. O GPT-3 (175 B, 96 camadas) já empilha dezenas de milhares delas; Claude Opus e GPT-4 sobem para centenas de bilhões a trilhões de parâmetros. Quase todo o custo é o mesmo MAC: linha × coluna, soma, grava a célula da saída.
A sorte do hardware: cada célula da matriz resultante é independente. Não precisa esperar a [0,0] para calcular a [500,200]. Por isso CPU de poucos núcleos rápidos perde feio — e por isso GPU e TPU existem.
Por dentro da GPU: H100
O die GH100 (Hopper) da H100 SXM: 80 bilhões de transistores, 8 GPCs, 132 SMs, 80 GB de HBM3 a 3,35 TB/s, TDP até 700 W.
GH100 (H100 SXM)
80 B transistores | 8 GPC | 132 SM | 80 GB HBM3
SM × 132
4 warp schedulers
128 CUDA cores (FP32/INT32)
4 Tensor Cores (MatMul 4×4, FP8/FP16/BF16)
256 KB registradores | até 228 KB shared/L1
- 16.896 CUDA cores: ALU de uso geral. A ~1,98 GHz isso dá ~67 TFLOPS FP32 (um FMA por ciclo).
- 528 Tensor Cores (4 por SM): hardware de álgebra densa. Bloco de matriz por instrução, FP16/BF16/FP8. Pico de marketing: ~2 PFLOPS FP8 denso, ~4 PFLOPS com esparsidade 2:4.
O host despacha um kernel. Uma MatMul 4096×4096 tem 16,7 milhões de células → milhões de threads, empacotadas em blocos (até 1024). O GigaThread Engine espalha os blocos pelos 132 SMs. Dentro do SM, as threads andam em warps de 32, mesma instrução no mesmo ciclo (SIMT).
O gargalo: memory wall
Um MAC nos registradores: ~4 ciclos. Trazer o número da HBM3 até o core: centenas de ciclos. Gravar o resultado: outra viagem. E milhares de núcleos vizinhos buscam, ao mesmo tempo, a mesma linha e a mesma coluna que o colega do lado acabou de carregar.
Boa parte da energia da GPU não é matemática — é mover dado. É o mesmo muro que a indústria de DRAM tenta furar com HBM e LPDDR (veja a CXMT no LPDDR6).
A aposta da TPU: arranjo sistólico
A pergunta do Google: e se o núcleo passasse o número que acabou de usar direto para o vizinho, sem devolver para a memória?
A TPU é um ASIC só de tensor. Na v5e, cada TensorCore tem quatro MXU de 128×128 MACs — 16.384 unidades por array, quase o total de CUDA cores da H100, mas soldadas umas nas outras. Sem registrador no meio. O nome vem da sístole: o dado pulsa no ritmo do clock.
X0 X1 X2
| | |
v v v
Y0→ MAC → MAC → MAC →
| | |
v v v
Y1→ MAC → MAC → MAC →
| | |
v v v
S0 S1 S2
- Pesos param: saem da HBM, entram na VMEM (SRAM) e ficam fixos em cada célula do array.
- Entradas fluem: o prompt entra pela esquerda e anda um passo por ciclo.
- Acúmulo desce: cada célula multiplica o que passa pelo peso local, soma o que veio de cima, manda para baixo.
- Resultado sai na borda — coluna a coluna, sem round-trip.
A HBM é tocada duas vezes: carregar peso, ler o resultado. Quase 100% da energia vira conta, não trânsito. v5e: ~197 TFLOPS BF16, 16 GB HBM, 819 GB/s — menos pico que a H100, mais joule por MAC em MatMul densa. Em 2026 o mesmo desenho cresceu: Trillium (v6e) foi a 256×256; Ironwood (TPU7x) chega a ~4,6 PFLOPS FP8 e 192 GB de HBM3e por chip, ainda só no GCP.
Em 2026: Blackwell de um lado, Ironwood do outro
H100 e v5e continuam sendo as melhores peças de ensino — o desenho é limpo e os números cabem na cabeça. Mas quem for comprar hoje não compra nenhuma das duas. Vale ver o que a mesma lógica virou quando levada ao limite.
Do lado da NVIDIA, a arquitetura Blackwell abandonou o die único. Um GPU Blackwell empacota 208 bilhões de transistores em dois dies no limite do retículo, costurados por uma interconexão chip a chip de 10 TB/s que faz os dois se comportarem como uma GPU só. O Transformer Engine de segunda geração desceu para FP4: menos bits por número, o dobro de vazão na mesma área. Num DGX B200, cada GPU entrega da ordem de 9 PFLOPS FP4 densos, com 180 GB de HBM3e e ~8 TB/s de banda — contra os 80 GB e 3,35 TB/s da H100. E o recorte de venda deixou de ser a placa: o GB200 NVL72 é um rack refrigerado a líquido com 36 CPUs Grace e 72 GPUs Blackwell num único domínio NVLink.
Do lado do Google, o TPU7x Ironwood seguiu o caminho oposto ao da flexibilidade: dois TensorCores e quatro SparseCores por chip, MXU de 256×256, 4.614 TFLOPS FP8, 192 GB de HBM3E a 7.380 GB/s, e superpod de 9.216 chips ligados por comutação óptica. Foi anunciado em abril de 2025 e entrou em disponibilidade geral em 31 de março de 2026.
Repare que os dois convergiram no formato numérico — FP4 e FP8 — e divergiram no escopo. A NVIDIA empilha silício genérico e resolve a escala com NVLink; o Google mantém o array rígido e resolve a escala com espelho e laser. A conta de baixo, o MAC, é a mesma dos dois lados.
Não é mais um duelo: o terceiro banco
Em 2017 a pergunta “GPU ou TPU?” fazia sentido porque só havia essas duas respostas. Em 2026 o mapa tem mais gente.
- AMD. A linha Instinct (MI300X, MI325X e sucessoras) coloca muita HBM por placa e roda em Linux com o ROCm, que é aberto. O gargalo nunca foi o silício: é a distância entre um kernel que compila em CUDA e o mesmo kernel em HIP. A cada release essa distância encolhe, mas ainda existe.
- AWS Trainium. A Amazon fez o próprio ASIC e construiu um data center inteiro em volta dele — é o assunto do post do Project Rainier. Mesma tese da TPU, dono diferente.
- NPUs no processador. Intel, AMD e os SoCs ARM já embarcam bloco de inferência no die da CPU. Não treinam nada, mas resolvem o modelo pequeno rodando local sem acender a GPU.
O padrão é claro: quem tem carga previsível e escala suficiente para amortizar um projeto de chip constrói o ASIC. Todo mundo mais aluga GPU.
GPU vs TPU, lado a lado
| NVIDIA H100 (GPU) | Google TPU v5e | |
|---|---|---|
| Tipo | SIMT programável | ASIC de tensor |
| MatMul | CUDA + Tensor Cores, via registrador/cache | MXU sistólico 128×128 |
| Memória | HBM o tempo todo | dado flui célula a célula |
| Pico | ~2 PFLOPS FP8 denso / 700 W | ~197 TFLOPS BF16 |
| Onde roda | AWS, Azure, GCP, on-prem, PC | só Google (GCP / pods) |
| Software | CUDA, PyTorch, Triton, TensorRT | JAX, TensorFlow, XLA, PyTorch-XLA |
| Geração de 2026 | Blackwell B200 / GB200 NVL72 (FP4) | TPU7x Ironwood (FP8, superpod de 9.216) |
Por que o mundo ainda compra GPU
Se a TPU gasta menos joule na mesma conta, por que a fila da NVIDIA não acaba?
- Rigidez do ASIC. A TPU é rápida porque o silício é a matemática dos Transformers de agora. Um modelo novo que não viva de MatMul densa deixa um data center de ASIC no vácuo.
- A GPU não fez essa aposta. Qualquer kernel — física, molécula, híbrido, o próximo paper — cabe em software.
- O fosso do CUDA. Duas décadas de bibliotecas e gente que já sabe. Código novo sobe no driver da NVIDIA no mesmo dia. Risco de adoção, para empresa, é o que decide a compra — não o TDP da MXU.
E na sua máquina?
Nada disso muda o fato de que, no Linux da sua mesa, o acelerador é a GPU que está no slot PCIe. Vale saber ler o que você tem:
# o que está no barramento
lspci | grep -Ei "vga|3d|display"
# NVIDIA: modelo, VRAM, driver, uso em tempo real
nvidia-smi
# AMD: o equivalente do ROCm
rocm-smi
# Intel/Arc e integradas
sudo intel_gpu_top
O número que decide se um modelo cabe não é TFLOPS — é VRAM. Um modelo de 7 B em quantização Q4 pede algo perto de 5 GB; um 70 B no mesmo Q4 passa de 40 GB e já exige duas placas ou offload para a RAM, com a queda de velocidade que vem junto. É a conta que o post do servidor recondicionado faz na prática, e o motivo de llama.cpp e Ollama insistirem tanto em GGUF quantizado.
TPU você não instala: ela só existe dentro do Google, alugada por hora no GCP ou de graça no Colab e no Kaggle. Se o seu roteiro é rodar modelo local, o caminho é CUDA ou ROCm — e a comparação deste post serve para entender por que a conta fecha assim, não para escolher entre as duas.
Linha do tempo
- 2006 — a NVIDIA lança o CUDA e transforma a placa de jogo em processador de uso geral.
- 2012 — a AlexNet vence o ImageNet treinando em duas GTX 580 e prova que rede neural é problema de GPU.
- 2015 — o Google põe a TPU v1 em produção interna, só inferência INT8.
- 2017 — sai o paper da TPU v1; a v2 traz treino e bfloat16; o Transformer nasce em pods de TPU.
- 2017 — a arquitetura Volta estreia os Tensor Cores na NVIDIA: a GPU passa a ter hardware dedicado de MatMul.
- 2020–2022 — Ampere e Hopper consolidam o fosso do CUDA; a A100 e depois a H100 viram moeda de troca.
- 2021 — a TPU v4 estreia a comutação óptica (OCS) e o torus 3D no pod.
- 2023 — a AMD lança a série Instinct MI300 com ROCm aberto; a corrida deixa de ser de um só fornecedor.
- 2024 — TPU v6e Trillium (MXU 256×256) e anúncio do Blackwell, com dois dies num pacote só.
- 2025 — GB200 NVL72 chega aos data centers; a Anthropic fecha acesso a até 1 milhão de TPUs.
- abr/2026 — o TPU7x Ironwood entra em disponibilidade geral: 4.614 TFLOPS FP8 e superpod de 9.216 chips.
Referencias
- Vídeo: Pouria Taj — GPU vs TPU: How AI Chips Actually Work
- NVIDIA — Hopper architecture in-depth
- Google Cloud — TPU v5e
- How to Scale Your Model — How to think about TPUs
- NVIDIA — arquitetura Blackwell
- Google Cloud — TPU7x (Ironwood)
- Google TPUs: arquitetura, gerações e modelos
- Project Rainier: o data center da AWS sem NVIDIA
- Como a DeepSeek reescreveu o Transformer
- llama-model: GGUF no Linux sem o daemon do Ollama
Especialização extrema versus generalidade: a TPU mostra o teto de eficiência quando a conta é conhecida; a GPU vende o seguro de que a conta de amanhã ainda cabe no mesmo rack. No Linux do dia a dia, o que você tem na mesa continua sendo a GPU — e o CUDA que veio junto.