El libro "Modern GPU Programming For MLSys" ofrece un recorrido técnico por la programación de GPUs aplicada a sistemas de machine learning, el pilar de las cargas actuales de inteligencia artificial. El texto parte de una premisa concreta: el rendimiento de estos sistemas depende en gran medida de la calidad de unos pocos kernels críticos, como los de atención, los de prefill y decode de modelos de lenguaje, los GEMM block-scaled de baja precisión o las capas MoE fusionadas, que condicionan la velocidad tanto del entrenamiento como de la inferencia.
A diferencia de otras obras centradas en trucos aislados de optimización, el volumen propone construir un modelo mental del hardware actual y dominar las técnicas para crear kernels de alto rendimiento. Los autores subrayan que las GPUs modernas ya no son variaciones simples de un mismo diseño: las arquitecturas recientes incorporan espacios de memoria más ricos, patrones de acceso novedosos y unidades de ejecución cada vez más especializadas.
La obra se organiza en una progresión de tres pasos: primero entender la GPU, después asimilar el modelo de programación empleado y, finalmente, construir kernels de referencia paso a paso. El objetivo principal es la arquitectura Blackwell y los ejemplos conductores son la multiplicación de matrices (GEMM) y FlashAttention, abordando temas como el data layout, el movimiento asíncrono de datos y la coordinación asíncrona.
El contenido nace del curso "Machine Learning Systems" de la Universidad Carnegie Mellon y emplea el DSL TIRx en Python para construir ejemplos ejecutables, manteniendo un control cercano al hardware. El libro se divide en cuatro partes: fundamentos de la GPU, descripción de TIRx, optimización de GEMM hasta el estado del arte (con TMA pipelining, persistent scheduling, warp specialization y 2-CTA clusters) y un capítulo dedicado a FlashAttention 4, que aplica las técnicas previas con dos MMAs, softmax online, causal masking y GQA.
