RendimientoRuta Rendimiento

Modelo roofline

Leerlo en el Capítulo 5 · checkpoint +50 XP →

FLOP/s alcanzables = min(cómputo máximo, intensidad aritmética × ancho de banda de memoria). Te dice contra qué muro chocas.

Todo kernel tiene una intensidad aritmética (IA): FLOPs realizados por byte movido desde memoria. El roofline dice:

FLOP/s alcanzables = min( FLOP/s máximos ,  IA × ancho de banda de memoria )

En ejes log-log obtienes un "techo de memoria" inclinado que se une con un "techo de cómputo" plano en el punto de inflexión (ridge point). Para una H100 en BF16 es ~989 TFLOP/s ÷ 3.35 TB/s ≈ 295 FLOPs/byte.

  • Las operaciones elemento a elemento (suma, GELU, layer norm) tienen IA cercana a 1. Están irremediablemente limitadas por memoria, así que fusiónalas.
  • Las matmul grandes tienen IA de miles. Están limitadas por cómputo, y ahí brillan los tensor cores.
  • La atención sin fusionar está limitada por memoria. FlashAttention la reorganiza para quedarse en el chip.

La guía GPGPU de PRACE usa el mismo razonamiento para kernels de HPC: primero decide bajo qué techo estás y luego optimiza ese recurso.

EN VIVO Explorador de roofline
0.11101001k0.11101001k10kFLOPs por byteTFLOP/salcanzablevector addlayer normsmall GEMM4k×4k GEMMtú
Alcanzable
105.9 TFLOP/s
% del pico
11%
Punto de inflexión
295 FLOP/B
Régimen
limitado por memoria

Intensidad aritmética = FLOPs ÷ bytes movidos desde HBM. Las posiciones de los kernels son ilustrativas.

Relacionado

Fuentes y lecturas adicionales

Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.