GPU
Leerlo en el Capítulo 1 · checkpoint +50 XP →
Un procesador de alto rendimiento: miles de carriles simples que ocultan la latencia con paralelismo en lugar de cachés y predicción.
Una CPU dedica sus transistores a que un hilo vaya rápido: cachés profundas, predicción de saltos, ejecución fuera de orden. Una GPU los dedica a muchos carriles de aritmética. Oculta la latencia de memoria manteniendo miles de hilos en vuelo y cambiando entre ellos sin costo.
Para ML y HPC ese intercambio es ideal. El trabajo es sobre todo álgebra lineal densa: la misma operación sobre arreglos enormes. Una GPU de centro de datos como la H100 combina ~130 streaming multiprocessors con tensor cores y 80 GB de HBM a varios TB/s.
Qué hace rápida a una GPU en la práctica
- Suficiente trabajo paralelo para llenar todos los SM (ver ocupación).
- Intensidad aritmética lo bastante alta para estar limitado por cómputo y no por memoria (ver Modelo roofline).
- Datos que se quedan en el dispositivo. Las transferencias por PCIe son ~50× más lentas que HBM.
En un clúster, la GPU es un nodo de una jerarquía: GPU → NVLink dentro del servidor → InfiniBand y RoCE entre servidores. Casi toda la ingeniería de clústeres consiste en mantener ocupada esa jerarquía.
Úsalo en una misión
Relacionado
Fuentes y lecturas adicionales
- Modal GPU Glossary — hardware and software vocabulary
- PRACE Best Practice Guide – GPGPU — GPU programming and tuning practice for HPC
- CUDA C++ Programming Guide
Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.