El servidor HGX H200: ocho GPU en una máquina
Un servidor HGX H200 de 8U, sin tapa, organizado como el modelo de referencia de NVIDIA (el DGX H200): arriba, la bandeja de GPU con sus ocho H200, sus cuatro NVSwitch (puntos luminosos: los intercambios NVLink) y su backplane; debajo, la bandeja de la placa base, extraída por la parte trasera para mostrarla; abajo del todo, las fuentes de alimentación; en la parte delantera, los ventiladores y los SSD. La GPU 1 sale de su ranura: mueva el control deslizante para volver a colocarla y después haga clic en «Módulo» para abrirla.
Una GPU de centro de datos no es una tarjeta gráfica
La H200 SXM no tiene ventilador, ni salida de vídeo, ni conector PCIe convencional: es un módulo «mezzanine» que se atornilla a una placa HGX de 8 GPU y que refrigera el propio servidor. Seleccione un componente para ver para qué sirve.
El chip GH100 visto desde arriba
814 mm² de silicio: 8 bloques de cálculo (GPC) alrededor de la caché L2, los controladores de memoria HBM a los lados, NVLink arriba, PCIe abajo. Haga clic en una zona.
Un multiprocesador (SM) de los 132
Cuatro bloques idénticos, cada uno con sus núcleos CUDA, su Tensor Core y sus registros, alrededor de una memoria compartida de 256 KB. Haga clic en un bloque.
Un Tensor Core multiplica matrices
D = A × B + C en una sola instrucción: cada fila de A se encuentra con cada columna de B, y el resultado se acumula en D. Es la operación básica de una red neuronal.
La GPU que extraemos
NVIDIA H200 SXM5 · 141 GB · 700 W
Uno de los ocho módulos H200, con su disipador de cubierta dorada. No se inserta en un puerto PCIe ni tiene ningún cable: se coloca en horizontal sobre la placa HGX, encima de dos conectores mezzanine que le aportan corriente y datos, y su disipador lo fija en su sitio. El control deslizante lo saca de su alojamiento; haga clic en «Módulo» para abrirlo capa por capa.
Las otras siete GPU
8 × H200 · 1,1 TB de HBM3e
Ocho módulos idénticos en dos filas de cuatro, en el eje del flujo de aire: cada uno bajo un gran disipador de aletas que el aire de los ventiladores atraviesa de delante hacia atrás. En conjunto: 1,1 TB de memoria HBM3e y unos 32 PFLOPS en FP8 (con dispersión). El software ve ocho GPU que pueden compartir un mismo modelo.
Placa HGX H200 y backplane
La placa de las ocho GPU
Una gran placa diseñada por NVIDIA y suministrada a los fabricantes de servidores (Supermicro, Dell, HPE, Gigabyte…): lleva las ocho ranuras SXM5, los cuatro NVSwitch y la alimentación de las GPU. En la parte trasera de la bandeja, un backplane (midplane) la conecta con el resto del servidor: alimentación, enlaces PCIe 5.0 hacia los procesadores, sensores y señales. Mismo formato que la placa HGX H100: un chasis previsto para el H100 admite el H200.
NVSwitch y NVLink
4 chips · 900 GB/s por GPU
Cuatro chips NVSwitch, situados justo detrás de los ventiladores para recibir primero el aire fresco, conectan cada GPU con todas las demás mediante NVLink: 900 GB/s por GPU (7,2 TB/s para las ocho), unas siete veces la velocidad de un enlace PCIe 5.0. Esto es lo que permite repartir un gran modelo entre las ocho GPU como si formaran una sola. Los puntos luminosos representan estos intercambios.
Bandeja de placa base y procesadores
2 × Intel Xeon o AMD EPYC
Bajo la bandeja de GPU, un cajón de 2U que sale por la parte trasera (lo hemos extraído para mostrarlo). Lleva la placa base y sus dos procesadores: ejecutan el sistema, cargan los datos y distribuyen el trabajo a las GPU por PCIe 5.0. Apenas realizan cálculos de IA por sí mismos: su función es alimentar a las GPU sin hacerlas esperar.
Memoria RAM
32 módulos DDR5 · 2 TB en un DGX H200
La memoria de los procesadores, distinta de la HBM de las GPU: sirve al sistema, a la carga de los modelos y a la preparación de los datos. Dieciséis módulos alrededor de cada procesador, 32 en total: 2 TB en el DGX H200, y hasta 4 TB o más en otros fabricantes.
Tarjetas de red
8 × ConnectX-7 · 400 Gb/s · una por GPU
Para entrenar un modelo en varios servidores, cada GPU tiene su propia tarjeta de red NVIDIA ConnectX-7 a 400 Gb/s, en InfiniBand o en Ethernet. En el DGX H200, están agrupadas en dos módulos de cuatro y salen por cuatro puertos OSFP en la parte trasera; otras dos tarjetas se dedican al almacenamiento. Así, las GPU de dos servidores intercambian sus datos directamente, sin pasar por los procesadores (GPUDirect RDMA).
Fuentes de alimentación
6 × 3 a 3,3 kW · redundantes
Abajo, en la parte trasera, seis fuentes de alimentación de 3 a 3,3 kW, intercambiables en caliente y montadas en redundancia: el fallo de una fuente no detiene el servidor. Hacen falta tantas porque un servidor HGX H200 completo consume más de 10 kW a plena carga, de los cuales 5,6 kW corresponden solo a las GPU.
Ventiladores
12 módulos dobles en la parte frontal (DGX)
Casi toda la cara frontal es un muro de ventiladores: doce módulos dobles intercambiables en caliente en el DGX H200, una decena en otros fabricantes. Aspiran el aire frío por delante, lo empujan a través de los NVSwitch, las GPU y la bandeja de la placa base, y lo expulsan por la rejilla trasera. Solo ellos consumen varios cientos de vatios: por eso las grandes instalaciones están pasando a la refrigeración líquida.
SSD NVMe
8 × U.2 en la parte frontal (DGX)
Bajo los ventiladores, unos SSD NVMe U.2 intercambiables en caliente sirven de caché rápida para los conjuntos de datos: ocho de 3,84 TB en el DGX H200, y hasta dieciséis en algunos fabricantes. El sistema arranca desde dos SSD M.2 en espejo, en el interior. En el centro, una pequeña consola (USB, VGA) para intervenciones in situ.
Chasis
8U · rack de 19 pulgadas · 75 a 130 kg
La carcasa metálica, montada en un rack estándar de 19 pulgadas. Un servidor HGX H200 ocupa 8 unidades de altura en NVIDIA y Supermicro (6U en Dell) y pesa de 75 a 130 kg según el modelo: lo instalan varias personas, sobre rieles reforzados. Detrás de la bandeja de GPU, una rejilla perforada deja salir el aire caliente.
Disipador pasivo
Base de cobre · aletas de aluminio · 0 ventiladores
La H200 SXM no tiene ningún ventilador: un bloque de aletas de aluminio montado sobre una base de cobre (cámara de vapor) disipa hasta 700 W. Son los ventiladores del servidor los que empujan el aire a través de las aletas; en los racks HGX H200 refrigerados por líquido, este disipador se sustituye por una placa fría (cold plate).
- Misma envolvente térmica que la H100: 700 W
- Aire o líquido, a elección del fabricante del servidor
Interfaz térmica (TIM)
Entre el chip y el disipador
Una fina capa de pasta, de almohadilla térmica o de metal líquido rellena las irregularidades microscópicas entre la parte superior de los chips (GPU y HBM) y la base del disipador. Sin ella, el aire atrapado aislaría el chip y la GPU reduciría su frecuencia en pocos segundos para no sobrecalentarse.
6 pilas de memoria HBM3e
141 GB · 4,8 TB/s · bus de 6.144 bits
La gran novedad de la H200. Seis pilas de HBM3e (High Bandwidth Memory) rodean el chip GPU: cada pila apila varios chips DRAM conectados verticalmente por miles de microvías (TSV). Seis pilas de 24 GB = 144 GB físicos, de los cuales 141 GB son utilizables.
- 4,8 TB/s de ancho de banda, es decir, 1,4 veces el de la H100
- Colocadas a pocos milímetros de la GPU, sobre el interposer
- Es la memoria la que limita la velocidad de inferencia de los grandes modelos de lenguaje
Chip GPU GH100 (Hopper)
814 mm² · 80 mil millones de transistores · TSMC 4N
El corazón de la H200: el mismo chip GH100 que la H100, fabricado por TSMC en 4N. En su versión SXM hay 132 multiprocesadores (SM) activos, es decir, 16.896 núcleos CUDA y 528 Tensor Cores de 4.ª generación, con 50 MB de caché L2.
- Transformer Engine: cálculo en FP8 para los modelos de lenguaje
- Hasta 3.958 TFLOPS FP8 (con dispersión)
- Divisible en 7 instancias MIG independientes
Interposer de silicio (CoWoS-S)
Encapsulado 2,5D de TSMC
Una placa de silicio pasiva, sin transistores, sobre la que se colocan, uno al lado del otro, la GPU y las seis pilas HBM. Contiene los miles de pistas ultrafinas que conectan la memoria con la GPU: es lo que hace posible el bus de 6.144 bits. Esta técnica de ensamblaje se denomina CoWoS-S (Chip on Wafer on Substrate); su capacidad de producción es uno de los factores que limitan la disponibilidad de las H200 en el mundo.
Marco de refuerzo
Protege el encapsulado
Un marco metálico pegado al sustrato, alrededor de todo el interposer. Evita que el encapsulado se deforme con el calor y reparte la presión del disipador, que se atornilla con una fuerza considerable para garantizar el contacto térmico.
Sustrato del encapsulado
Aproximadamente 7,5 × 7,5 cm
Un circuito impreso multicapa muy denso que hace de enlace entre las microconexiones del interposer y las bolas de soldadura (BGA) que fijan el conjunto a la placa SXM. Sustrato, interposer, GPU y HBM forman el «package»: la pieza que NVIDIA entrega a sus socios.
Fases de alimentación (VRM)
12 V → menos de 1 V · varios cientos de amperios
Decenas de etapas de potencia y sus inductores transforman los 12 V suministrados por la placa HGX en una tensión inferior a 1 V, pero con una corriente de varios cientos de amperios. Son la segunda fuente de calor del módulo después del chip, de ahí su posición bajo el disipador.
Condensadores de desacoplamiento
Filtrado de la alimentación
Hileras de condensadores cerámicos alrededor del encapsulado, y condensadores más grandes bajo la placa, almacenan y liberan energía en pocos nanosegundos. Cuando los Tensor Cores inician un cálculo, la demanda de corriente se dispara: son ellos los que evitan una caída de tensión.
Placa SXM5 (PCB)
Aproximadamente 14 × 10 cm
El circuito impreso del módulo. A diferencia de una tarjeta gráfica, no tiene conector PCIe, ni salida de vídeo, ni toma de alimentación: todo pasa por los dos conectores situados debajo. Cuatro separadores roscados atraviesan la placa: mantienen el disipador a la altura y con la presión adecuadas sobre el encapsulado, y guían el módulo durante el montaje en la placa HGX.
Conectores mezzanine SXM
NVLink 900 GB/s · PCIe 5.0 · alimentación
Dos conectores de alta densidad situados bajo la placa se insertan en la placa base HGX. Transportan la alimentación, las 16 líneas PCIe 5.0 hacia el procesador y los 18 enlaces NVLink (900 GB/s) hacia los chips NVSwitch que conectan las 8 GPU del servidor. Ningún cable: esto es lo que permite apilar 8 GPU de 700 W en un solo chasis.
El die GH100
814 mm² · 80 mil millones de transistores · TSMC 4N
Visto desde arriba, el silicio del GH100 es un plano de 28 mm de lado. Todo lo que calcula está en el centro y todo lo que comunica, en los bordes: memoria a la izquierda y a la derecha, NVLink arriba, PCIe abajo. En el H200 SXM, 132 de los 144 multiprocesadores grabados están activos; los demás se desactivan en fábrica para mejorar el rendimiento de fabricación.
8 bloques de cálculo (GPC)
8 GPC × 9 TPC × 2 SM = 144 SM grabados, 132 activos
El cálculo se organiza en 8 Graphics Processing Clusters, cada uno con 9 pares de multiprocesadores (TPC). Cada multiprocesador (SM) contiene 128 núcleos CUDA y 4 Tensor Cores: 16.896 núcleos CUDA y 528 Tensor Cores en total en el H200 SXM. El motor GigaThread reparte las tareas entre los GPC; un GPC también puede aislarse como instancia MIG.
El SM que vamos a abrir
1 SM de 132 · siguiente nivel
Un multiprocesador resaltado: es el que se detalla en el siguiente nivel. Cada SM ejecuta grupos de 32 hilos (los «warps»), con sus propios núcleos, Tensor Cores, registros y memoria compartida. Haga zoom al máximo para entrar en él.
Caché L2
50 MB en dos particiones
Una gran caché compartida por todos los SM, en el centro del chip, dividida en dos mitades unidas por una red de interconexión. Mantiene a mano los datos más solicitados para no tener que ir a buscarlos a la HBM, más lenta y que consume más energía, y permite a los SM intercambiar resultados.
Controladores de memoria HBM
12 controladores de 512 bits = 6.144 bits · 4,8 TB/s
En cada borde, tres interfaces físicas (PHY) conectan el chip con las seis pilas HBM3e colocadas a su lado sobre el interposer, a razón de dos controladores de memoria por pila. El bus de 6.144 bits es lo que da al H200 sus 4,8 TB/s: es el componente que marca la diferencia con el H100.
NVLink 4
18 enlaces × 50 GB/s = 900 GB/s
Dieciocho enlaces NVLink de 4.ª generación, a lo largo del borde superior, conectan la GPU con las otras siete GPU de un servidor HGX a través de los chips NVSwitch. 900 GB/s por GPU, es decir, 7 veces el PCIe: esto es lo que permite repartir un modelo de 400 mil millones de parámetros entre 8 GPU como si fueran una sola.
PCIe 5.0 y motor GigaThread
16 líneas PCIe, 128 GB/s · reparto del trabajo, MIG
El borde inferior conecta con el procesador del servidor: dieciséis líneas PCIe 5.0, 128 GB/s en ambos sentidos, por las que llegan el modelo, los datos y las instrucciones. Al lado se encuentra el motor GigaThread, el director de orquesta del chip: recibe las tareas (los «kernels»), las divide en bloques de hilos y las distribuye entre los GPC disponibles; en modo MIG, aísla hasta siete instancias independientes de 18 GB.
Un multiprocesador (SM)
1 de 132 · 4 bloques de procesamiento
El SM es la unidad básica de la GPU: ejecuta warps de 32 hilos en cuatro bloques de procesamiento idénticos, que comparten 256 KB de memoria rápida, cuatro unidades de textura y un motor de copia (TMA). En un chip, 132 SM trabajan en paralelo.
Planificador y registros
32 hilos por ciclo · 64 KB de registros por bloque
Cada bloque tiene su planificador de warps y su unidad de despacho: en cada ciclo, eligen un warp listo (cuyos datos ya han llegado) y envían su instrucción a los núcleos; mientras un warp espera a la memoria, otro calcula. Justo debajo, el banco de registros guarda las variables de los hilos: 64 KB por bloque, 256 KB por SM y 33 MB en el chip, que se leen en un solo ciclo.
Núcleos CUDA (FP32)
32 por bloque · 128 por SM · 16.896 por GPU
Los núcleos CUDA realizan los cálculos generales en coma flotante de 32 bits: sumas, multiplicaciones, comparaciones. Treinta y dos por bloque, uno para cada hilo del warp, que ejecutan todos la misma instrucción al mismo tiempo sobre datos diferentes (el modelo SIMT).
Núcleos FP64 e INT32
16 FP64 + 16 INT32 por bloque · 64 + 64 por SM
Los núcleos de 64 bits sirven para el cálculo científico (simulación, clima, química), donde prima la precisión: dieciséis por bloque, frente a uno solo en una tarjeta gráfica de consumo. Las unidades de enteros calculan direcciones, índices y bucles mientras los núcleos de coma flotante hacen las matemáticas; tenerlas separadas permite ejecutar ambas cosas al mismo tiempo.
Tensor Core de 4.ª generación
1 por bloque · 4 por SM · 528 por GPU
El corazón de la IA: una unidad que multiplica matrices enteras en una sola instrucción, en FP8, FP16, BF16, TF32 o INT8. El Transformer Engine elige la precisión sobre la marcha para los modelos de lenguaje. 4 Tensor Cores por SM, 528 en el H200: hasta 3.958 TFLOPS en FP8 con dispersión (sparsity). Haga zoom al máximo para ver la operación.
Unidades LD/ST y SFU
8 LD/ST + 4 SFU por bloque
Las unidades load/store leen y escriben en la memoria para los hilos; las Special Function Units calculan seno, exponencial, raíz cuadrada, inverso…, operaciones que utilizan constantemente las funciones de activación de las redes neuronales.
Cachés L1: datos e instrucciones
256 KB de L1 / memoria compartida + caché de instrucciones
Abajo, una memoria rápida común a los cuatro bloques, repartida a elección entre caché L1 y memoria compartida programable, donde los hilos de un mismo bloque intercambian datos: 256 KB por SM, a pocos ciclos de los núcleos, la clave del rendimiento de bibliotecas como FlashAttention. Arriba, la caché de instrucciones L1 guarda el programa en curso y alimenta las cachés L0 de cada bloque.
TMA y unidades de textura
Copias asíncronas HBM → memoria compartida · 4 unidades de textura
El Tensor Memory Accelerator, novedad de Hopper, mueve grandes bloques de datos de la memoria global a la memoria compartida en segundo plano, mientras los Tensor Cores calculan. Las cuatro unidades de textura, heredadas del renderizado 3D, leen y filtran imágenes en memoria: muestreo e interpolación en IA, texturizado de superficies en renderizado.
Matriz A: las activaciones
4 × 8 valores en FP8 o FP16
Los datos que se están procesando: por ejemplo, en un modelo de lenguaje, la representación del texto en la etapa actual. Cada fila de A se multiplica por cada columna de B. En FP8, cada valor ocupa un byte: esto es lo que permite duplicar el rendimiento respecto al FP16.
Matriz B: los pesos
8 × 4 valores, cargados desde la HBM
Los parámetros aprendidos del modelo, leídos desde la HBM3e por paquetes. Un modelo de 70 mil millones de parámetros son 70 mil millones de valores como estos, multiplicados en cada token generado: de ahí la importancia del ancho de banda de memoria.
Resultado D = A × B + C
16 productos escalares · 128 multiplicaciones-sumas en una instrucción
Cada casilla de D es un producto escalar: una fila de A multiplicada término a término por una columna de B, después sumada y añadida al acumulador C (el resultado anterior, en FP16 o FP32): así es como las grandes multiplicaciones se dividen en teselas que se acumulan sin pérdida de precisión. Bajo las matrices, una cuadrícula de circuitos fused multiply-add cableados físicamente realiza todas las operaciones a la vez, y los datos pasan directamente de un multiplicador al sumador contiguo. Un Tensor Core de 4.ª generación encadena 512 de estas operaciones por ciclo en FP16 y 1.024 en FP8; el H200 tiene 528, a casi 2 GHz.