Arquitectura de GPU

SM, CU, shaders y pipelines: cómo funciona realmente una tarjeta gráfica

Arquitectura de GPU

Arquitectura de GPU

Introducción

Arquitectura de GPU. Para diagnosticar, optimizar o simplemente entender una GPU moderna, es imprescindible conocer su arquitectura interna. A diferencia de una CPU, diseñada para baja latencia y ejecución secuencial, la GPU está construida para paralelismo masivo y alta tolerancia a latencias.

Este bloque explica, a nivel intermedio–avanzado, cómo están organizadas las GPUs modernas (NVIDIA, AMD e Intel), qué significan términos como SM, CU, shaders y pipelines, y por qué estas diferencias importan en rendimiento real y diagnóstico.


La filosofía de diseño de una GPU

Una GPU está optimizada para:

  • Ejecutar miles de hilos simultáneos
  • Ocultar latencias mediante paralelismo
  • Priorizar throughput sobre latencia

Esto implica que una GPU puede “esperar” memoria mientras otros hilos siguen ejecutándose.


SM (Streaming Multiprocessor) – NVIDIA

En GPUs NVIDIA, el bloque fundamental es el SM:

  • Contiene múltiples núcleos CUDA
  • Incluye unidades de control, registros y caché
  • Ejecuta grupos de hilos llamados warps

Características clave:

  • Un SM ejecuta muchos warps en paralelo
  • Si un warp se bloquea, otro toma su lugar
  • El rendimiento depende de la ocupación del SM

Un SM mal aprovechado implica rendimiento desperdiciado.


CU (Compute Unit) – AMD

En AMD, el equivalente al SM es la CU:

  • Contiene SIMD engines
  • Ejecuta wavefronts (típicamente 32 o 64 hilos)
  • Comparte recursos internos

Diferencias clave frente a NVIDIA:

  • Tamaño de wavefront distinto
  • Organización de registros diferente
  • Impacto distinto de latencias de memoria

Esto explica por qué el mismo benchmark escala diferente en AMD y NVIDIA.


Xe Cores – Intel

Intel utiliza una aproximación híbrida:

  • Xe Cores como bloque básico
  • SIMD vectorial combinado con control flexible
  • Orientación fuerte a cómputo y gráficos

Aunque más jóvenes, su arquitectura sigue la misma filosofía de paralelismo masivo.


Shaders: qué son realmente

Un shader no es un bloque físico único:

  • Es un programa que se ejecuta en los núcleos
  • Puede ser de vértices, píxeles, geometría o cómputo

Todos comparten el mismo hardware subyacente.


Tipos de shaders y su impacto

  • Vertex shaders → geometría
  • Pixel/fragment shaders → color y efectos
  • Compute shaders → cargas generales

Una carga dominada por pixel shaders estresa la VRAM; una de compute, los registros y caché.


Pipelines gráficos

El pipeline gráfico incluye:

  1. Entrada de vértices
  2. Transformación
  3. Rasterización
  4. Ejecución de shaders
  5. Escritura en framebuffer

Cada etapa puede convertirse en cuello de botella.


Paralelismo y divergencia

La divergencia ocurre cuando:

  • Hilos del mismo grupo toman caminos distintos

Esto reduce eficiencia:

  • Todos los hilos deben esperar

Cargas mal optimizadas pierden rendimiento aunque la GPU esté “al 100%”.


Ocupación y latencia

Ocupación alta:

  • Más hilos listos
  • Mejor ocultamiento de latencia

Pero ocupación excesiva:

  • Presiona registros
  • Puede reducir frecuencia

El equilibrio es crítico.


Relación con VRAM y caché

La arquitectura define:

  • Cómo se accede a la VRAM
  • Qué latencias son tolerables

Esto conecta directamente con:

  • Ancho de banda
  • Errores de memoria

Implicaciones prácticas

Entender la arquitectura permite:

  • Interpretar benchmarks correctamente
  • Diagnosticar cuellos de botella
  • Explicar por qué dos GPUs con TFLOPS similares rinden distinto

Relación con otras subcategorías

Este bloque enlaza con:


Una GPU no es solo “más núcleos”. Es una arquitectura paralela compleja.

Comprender SM, CU, shaders y pipelines es la base para analizar rendimiento, estabilidad y fallos reales en tarjetas gráficas modernas.

Scroll to Top