
Cuántos cálculos realiza una tarjeta de vídeo por segundo para dibujar un fotograma de Cyberpunk o para entrenar una red? El canal Branch Education desmontó una RTX 3090 — en sentido literal — y reconstruyó el die GA102 en 3D. Este texto sigue al vídeo How do Graphics Cards Work? Exploring GPU Architecture. La generación Blackwell ya está en la calle; la lección de arquitectura es la misma.
Escala
Tres anclas del vídeo:
- Super Mario 64 (1996): ~100 millones de cálculos por segundo.
- Minecraft (2011): ~100 billones.
- RTX 3090: más de 36 TFLOPS. La 4090, mencionada en el mismo vídeo, sube a 82,58 TFLOPS.
Si cada uno de los 8 mil millones de humanos hiciera una multiplicación por segundo, faltarían unos 4.400 planetas Tierra para igualar una GPU de gama alta. El silicio cabe en una moneda.
Ambos son procesadores. La filosofía es la opuesta:
CPU — jato
poucos núcleos (8–24) | latência baixa | cache L2/L3 enorme
preditor de desvio | controle flexível | kernel, disco, rede
GPU — navio cargueiro
milhares de núcleos (10.496 na 3090) | vazão (throughput)
controle compartilhado | a mesma conta em milhões de dados
La CPU despega y aterriza en miles de aeropuertos: tarea secuencial, impredecible. La GPU traslada decenas de miles de contenedores entre dos puertos fijos: millones de vértices, píxeles o pesos de red sufriendo la misma operación. Es el mismo recorte del post GPU vs TPU — aquí el zoom es el die de consumo, no el acelerador de centro de datos.
Dentro del GA102 (Ampere)
La 3090 utiliza el GA102: Samsung 8 nm custom, 28,3 mil millones de transistores, 628 mm². Jerarquía rígida:
GA102
7 GPC (Graphics Processing Clusters)
12 SM por GPC → 84 SM no silício inteiro
4 partições / warp schedulers por SM
32 CUDA cores por partição (128 por SM)
1 Tensor Core por partição (4 por SM)
1 RT Core por SM
GA102 cheio: 10.752 CUDA | 336 Tensor | 84 RT
Las tarjetas 3080 / 3080 Ti / 3090 / 3090 Ti salen de mismo proyecto. En la fotolitografía, el polvo y los defectos de oblea matan un SM. En lugar de tirar 628 mm², NVIDIA apaga el bloque con láser — binning:
- 3090 Ti: silicio perfecto, 10.752 CUDA.
- 3090: 10.496 (2 SM off).
- 3080 Ti: 10.240 (4 SM off).
- 3080: 8.704 (16 SM off).
El CUDA core es un FMA
Cada núcleo CUDA tiene ~410 mil transistores. El circuito que importa es el FMA (Fused Multiply-Add), una operación por ciclo de reloj:
Resultado = A × B + C
Es la columna vertebral de los gráficos 3D y de la IA: el mismo MAC de la neurona y de Tensor Core / MXU. En Ampere, la mitad de las rutas son FP32; la otra mitad hace FP32 o INT32 en el mismo ciclo. Cálculos más caros (división, raíz, seno, coseno) caen en las SFU : solo 4 por SM.
GDDR6X, PAM-4 y el PAM-3 de la GDDR7
Miles de núcleos sin datos se quedan parados. La RAM de la CPU (DDR4/DDR5) va por un bus de 64 bits, unos 50–80 GB/s. La 3090 lleva 24 GB de GDDR6X (Micron) en un bus de 384 bits, ~936 GB/s (el vídeo redondea a 1 TB/s).
CPU + DDR5 GPU + GDDR6X
barramento 64-bit barramento 384-bit
~60 GB/s ~1 TB/s
caminhão de entrega porto de contêineres
El ordenador no es solo 0 y 1 en las pistas. Para no duplicar el reloj (calor, ruido):
- PAM-4 (GDDR6X): cuatro niveles de tensión. Cada símbolo transporta 2 bits (
00,01,10,11). - PAM-3 (GDDR7): tres estados (−1, 0, +1). Codifica 3 bits en 2 dígitos ternarios — decodificador más simple, más tolerancia al ruido, menos energía.
SIMD, el sombrero de cowboy y el “embarrassingly parallel”
Diseñar un mundo 3D es un problema embarazosamente paralelo: casi no cuesta dividirlo en miles de trozos independientes. La gorra del vídeo tiene ~14.000 vértices (X, Y, Z) y 28.000 triángulos:
- Model space: vértices en el origen del objeto (0, 0, 0).
- World space: traslación, rotación, escala — cada vértice × matriz 4×4.
- Cena con 5.000 objetos y ~8 millones de vértices: la misma instrucción sobre millones de números. Esto es SIMD (Single Instruction, Multiple Data).
De SIMD a SIMT — y de dónde vino el “warp”
Hasta ~2016 el warp de 32 hilos marchaba en lockstep, falange griega. En el SIMT moderno cada hilo tiene su propio program counter y registros. Un if/else que parte el warp por la mitad (warp divergence) no bloquea el SM entero: los dos caminos avanzan y luego se reconcilian en la L1 de 128 KB por SM.
El nombre warp no vino de la Star Trek. Vino del tejido: el telar de Jacquard (1804) elegía los hilos de la urdimbre (warp threads) en paralelo, con tarjeta perforada.
O GigaThread Engine distribuye los bloques de hilos entre los SM libres. Es el despachador que hace que 10 mil núcleos parezcan un único programa.
SHA-256, ASIC y Tensor Core
La misma máquina sirve para más que juegos.
Minería de Bitcoin. Cada intento de SHA-256 (nonce diferente) es independiente del anterior. La 3090 generaba ~95 millones de hashes/s. Un ASIC dedicado supera los 250 billones/s: cuchara frente a excavadora. La GPU para Bitcoin murió.
Tensor Cores y DLSS. En lugar de escalar par a par, el Tensor Core hace matrices enteras en coma flotante mixta en una sola instrucción:
D = A × B + C
Es la base de las redes neuronales y los transformers en silicio de consumo — el mismo MatMul que la entrada del blog GPU vs TPU sitúa en la MXU sistólica de la TPU, y que el curso intensivo de deep learning trata como la cuenta del entrenamiento. En Linux, el atajo práctico para usar esa cuenta sin comprar un clúster es el Ollama.
Referencias
- Branch Education — Cómo funcionan las tarjetas gráficas?
- GPU vs TPU: cómo funcionan los chips de IA
- ¿Qué es una red neuronal?
- Deep Learning para principiantes
- IA local en Linux con Ollama
La tarjeta gráfica no son “miles de pequeñas CPUs”. Es un puerto: FMA en masa, memoria demasiado ancha para la DDR de la CPU y un despachador (GigaThread) que solo funciona mientras el problema se parte por sí solo. Branch Education mostró el puerto por dentro. El resto, DLSS, LLM, minería muerta, es el mismo barco con carga diferente.