Official docs outline
12 sections- Key concepts
Arrays, transformations, tracing, and the functional programming model.
- Just-in-time compilation
jax.jit, XLA compilation, static arguments, and tracing behavior.
- Automatic differentiation
grad, value_and_grad, jvp, vjp, and higher-order derivatives.
- Automatic vectorization
vmap for batching functions without manual loops.
- Pytrees
Nested containers of arrays and tree utilities.
- Pseudorandom numbers
Explicit PRNG keys, splitting, and reproducibility.
- Stateful computations
Handling state in a pure functional style.
- Common gotchas
Pure functions, in-place updates, control flow, and dynamic shapes.
- Distributed arrays and sharding
Automatic and explicit parallelism across devices with Mesh and PartitionSpec.
- Control flow
cond, scan, fori_loop, and while_loop under jit.
- Debugging
jax.debug tools, NaN checks, and inspecting traced values.
- Pallas kernels
Writing custom kernels for GPU and TPU.
Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.