Skip to content

English · Español

Fase 23 — Fundamentos de la Arquitectura GPU

Requiere: 01 — Hardware y sustrato de cómputo · 22 — KV cache: de las matemáticas a la memoria Enseña: gpu-architecture · sm · warps · occupancy · hbm · coalescing Salta a cualquier capítulo desde el índice de referencia de fases.

Mapa del capítulo

Pre-escrita según A12. La teoría y los enunciados de los problemas de laboratorio son borradores estables; la elección de la plataforma cloud es la única pregunta abierta crítica (ver PHASE_23_PLAN.md §7.a).

Esta es la fase donde se cruza la frontera: del portátil sin CUDA a una GPU rentada en la nube. No escribimos kernels todavía — eso es Fase 24. Aquí construimos el modelo mental (SM, warp, jerarquía HBM/L2/SMEM/registros, coalescing, ocupación) y medimos, igual que en Fase 1 medimos el roofline del i5-8250U.


Objetivo

Una comprensión mecánica de la GPU que Borja va a alquilar — suficiente como para que "este kernel es HBM-bound" o "esta divergencia de rama nos costó un factor 32×" sean afirmaciones que Borja pueda demostrar con medidas sobre su hardware cloud-rentado real, no una frase de una diapositiva de marketing de NVIDIA.

La Fase 23 es la primera fase que requiere GPU en la nube. De la Fase 1 a la 22 todo corrió sobre el i5-8250U de Borja. De la Fase 23 en adelante se asume una GPU de clase Ampere o superior rentada de un proveedor cloud (decisión en PHASE_23_PLAN.md §7.a).

Orden de lectura

  1. theory/00-motivation.md — por qué una fase separada para el modelo mental de la GPU; qué intuiciones de CPU se transfieren y cuáles se rompen.
  2. theory/01-gpu-vs-cpu-mental-model.md — diferencias del modelo de ejecución: SIMT vs out-of-order, warps vs cores, ocupación vs cambio de contexto.
  3. theory/02-gpu-memory-hierarchy.md — HBM → L2 → SMEM → registros; anchos de banda y latencias; reglas de coalescing.
  4. theory/03-warps-and-occupancy.md — el warp de 32 hilos; coste de divergencia; ocupación como compromiso entre registros, SMEM e hilos.
  5. theory/04-gpu-roofline.md — el roofline de la Fase 1 re-derivado para GPU; múltiples ceilings por dtype; matices de los Tensor Cores; dónde aterriza el operador de decode de la Fase 22 sobre este nuevo plot.
  6. lab/00-provision-cloud-gpu.md — primera sesión de GPU en la nube, de extremo a extremo. Elige la plataforma (según §7.a) y ejecuta nvidia-smi. De una sola vez.
  7. lab/01-device-query.md — inspección programática del dispositivo; rellenar device_query.json con cada campo relevante.
  8. lab/02-bandwidth-test.md — medidas de ancho de banda de cudaMemcpy H2D, D2H, D2D; comparar con los picos teóricos.
  9. lab/03-gpu-roofline.md — dibujar el roofline; superponer la decode-attention de la Fase 22; identificar el régimen.

solutions/ está vacío durante la pre-escritura — se rellena al abrir la fase, una vez elegida la plataforma cloud (porque la salida de device-query y los números de ancho de banda dependen de la GPU concreta alquilada).

Definition of Done

Ver PHASE_23_PLAN.md §6. Brevemente:

  • Sesión cloud-GPU completa de extremo a extremo: aprovisionar → benchmark → terminar, todo registrado.
  • device_query.json, bandwidth_test.json, peak_flops.json commiteados.
  • Plot del roofline de GPU commiteado con el operador de decode-attention de la Fase 22 colocado sobre él.
  • Borja puede recitar de memoria: jerarquía de memoria, pico TFLOPS fp16/bf16, tamaño de warp, regla de coalescing, cuellos de botella de ocupación.

Lo que esta fase intencionadamente NO cubre

  • Escribir kernels. Fase 24. La Fase 23 usa kernels pre-construidos (GEMM de cuBLAS, cudaMemcpy) y los mide. La disciplina refleja la Fase 1: medir la máquina antes de escribir código que corra sobre ella.
  • PyTorch. Se importa por primera vez en la Fase 24, deliberadamente. La Fase 23 usa cupy (NumPy-en-GPU) para la única tarea de port que necesita arrays en GPU. Ver PHASE_23_PLAN.md §7.g para el razonamiento.
  • Multi-GPU. Fase 35 (entrenamiento distribuido).
  • Cadenas de herramientas CUDA personalizadas. La Fase 24 introduce nvcc. La Fase 23 usa lo que viene preinstalado en la imagen cloud.
  • Herramientas de profiling de GPU (nsight, ncu). Se tocan en la Fase 24; la Fase 23 usa solo nvidia-smi + timers de Python.
  • TPU / aceleradores no-NVIDIA. Fuera del alcance del currículo completo.
  • Comprar / configurar una GPU local. El presupuesto mensual de Borja es para alquiler cloud; no hay planeada ninguna compra de GPU local. Si eso cambia, esta fase necesita revisión.

El alcance de la Fase 23 es: aprovisionar una GPU en la nube, medir sus picos, colocar el operador de la Fase 22 sobre el roofline. Nada más.


Vista previa de la siguiente fase: docs/phase-24-cuda-triton/ — primera vez escribiendo kernels de GPU; primera vez importando torch.

Lecturas recomendadas

Opcional — enriquece pero no es necesario para aprobar la fase.