the xla path · 0/14
start the path

a mastery course · the xla path · through the compiler

Learn how XLA works.

The JAX path treats the compiler as a black box that keeps its promises. This path opens it: the seam every framework enters through, the IR where two hundred passes work, the floors where backends part ways, and the runtime stack above that decides who controls the fleet.

your progress 0/14 chapters

01 Read any dump on sight · passes, fusions, layouts, all from --xla_dump_to
02 Name every layer of the seam · PJRT, IFRT, and what swaps where
03 Explain single-controller · why Pathways changes the fleet, not your JAX
the whole path on one card: the seam is PJRT, the workbench is HLO, the floors diverge
frontends JAX · TF · PyTorchemit StableHLO PJRT StableHLO versioned wire formatMLIR dialect convert HLO internal graph IRnot MLIR · mutable the pass pipeline 200+ hardware-aware passes CPU LLVM IR → thunks GPU Triton · MLIR · LLVMcuDNN thunks TPU libtpuclosed copper = the artifact · steel = machinery · dashed = closed
the grounding rule

Facts are anchored to the public source tree at a verified commit, and readings are public only: openxla.org, the GitHub tree, the GSPMD and Pathways papers. Every cited source path exists; every reading URL answered when this path was built.

the honesty rule

The pass pipeline shown is a real dump from a real compile on this machine (jax 0.4.38, CPU, 2026-07-27), and the HLO excerpts are the compiler's own output with paths shortened. Closed layers stay marked closed: libtpu below, the Pathways runtime above.

the neighbors

The JAX path teaches the language that feeds this compiler; the kernel path lives on the floor where XLA stops. The three cross-reference, and the xla gym floor drills what these chapters teach.