Track B — GPU Understanding & ML Performance¶
Learn to reason about performance: what makes a kernel or a model fast or slow, and how to prove it with measurements. This track turns you from someone who writes kernels into someone who can diagnose and defend performance decisions.
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#F8FAFC', 'primaryBorderColor': '#6366F1', 'lineColor': '#64748B'}}}%%
flowchart TD
B01["B01 Architecture"] --> B02["B02 Roofline"]
B02 --> B03["B03 Profiling"]
B03 --> B04["B04 Numerics"]
B04 --> B05["B05 Transformers"]
B05 --> B06["B06 Serving"]
B01 --> B07["B07 Sharding"]
classDef trackB fill:#6366F1,stroke:#0F172A,color:#fff
class B01,B02,B03,B04,B05,B06,B07 trackB
Modules — Track B syllabus (7 modules)
| ID | Module | What you build | Status |
|---|---|---|---|
| B01 | Accelerator architecture (CDNA vs Hopper) | Runtime device/topology introspection | DONE |
| B02 | Roofline model & arithmetic intensity | An intensity sweep that finds its own ridge point | DONE |
| B03 | Profiling & bottleneck analysis | Four unlabelled "mystery" kernels to diagnose | DONE |
| B04 | Precision & numerics (fp32 → fp8) | Labs that print the hazards; int8 quantization demo | DONE |
| B05 | Transformer performance | Model calculator; per-sub-op layer profiling | DONE |
| B06 | Inference serving optimizations | Batching simulator, KV planner, speculation model | DONE |
| B07 | Distributed training & sharding | Memory planner, collective cost, pipeline bubble | DONE |
Suggested order. B01 → B02 → B03 is the diagnostic core: know the hardware, classify the kernel, then confirm with a profiler. B04 covers the numerics you trade for speed. B05 → B06 → B07 apply all of it to transformers, serving, and multi-GPU scale.
Prerequisite: A01 for GPU literacy. B02 is most useful after A02, and B05 builds on A07. See CURRICULUM.md for the full dependency graph.
A note on the tools. Every analytic tool in this track runs on the Python standard library alone —
no GPU, no pip install — and labels its output as a model or a simulation rather than a measurement.
The lab programs that do need a GPU compute their own numbers; this track publishes no benchmark
table it cannot reproduce.