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.
Relacionado
Fuentes y lecturas adicionales
- Roofline model (Williams, Waterman & Patterson, 2009)
- PRACE Best Practice Guide – GPGPU — GPU programming and tuning practice for HPC
- Modal GPU Glossary — hardware and software vocabulary
Escrito para LazyLab con nuestras propias palabras; las fuentes se citan para profundizar y verificar.