Skip to content
← Learn JAX

JAX Profiling & Debugging

JAX

Profiler hooks, debug primitives, fixing common tracer/concretization errors, AOT compilation. Practical-skill problems for production work.

This track uses JAX. You can make it your practice mode to browse related content across the site.

12 exercises

Explore freely. Sign in to keep your progress.

Your learning sequence

  1. 1 Not solved yet. jax.named_scope for Profiler Grouping Practice · Medium
  2. 2 Not solved yet. profiler.StepTraceAnnotation Practice · Medium
  3. 3 Not solved yet. @profiler.annotate_function Practice · Easy
  4. 4 Not solved yet. jax.debug.print with Multiple kwargs Practice · Medium
  5. 5 Not solved yet. jax.debug.callback for Side Effects Practice · Medium
  6. 6 Not solved yet. jnp.allclose for Tolerance Equality Practice · Easy
  7. 7 Not solved yet. Append a Scalar with Concatenate Practice · Medium
  8. 8 Not solved yet. Fix: Python if → jnp.where Practice · Medium
  9. 9 Not solved yet. Replace a Python Sum Loop with Array Operations Practice · Medium
  10. 10 Not solved yet. jaxpr with Multiple Args Practice · Medium
  11. 11 Not solved yet. AOT via jit.lower().compile() Practice · Hard
  12. 12 Not solved yet. Pretty-Printed jaxpr Length Practice · Medium

Check yourself

3 questions · not saved while you're signed out

Use these questions to check your understanding and compare explanations. Your score does not affect track completion.

0 / 3 correct

You want steady-state execution time for a jitted function with a fixed input signature. Which two steps keep compilation and asynchronous dispatch from distorting that measurement?

Choose one answer to reveal the explanations. Answers are kept only while this page is open.

# t0 = time(); out = f(x); t1 = time()
Question 1 of 3