Debugging Across the Dataflow Stack

When a compiled model returns a wrong answer, the error often appears far from the operation that caused it. This course teaches a systematic method for debugging compiled AI workloads: find the stage where a failure first appears, and separate logic errors from expected numerical differences. You will learn why familiar eager-debugging techniques become less reliable after graph capture, fusion, asynchronous execution, and compiler scheduling. An eight-layer model organizes failures from Python source down to hardware execution. You will use differential debugging against a trusted baseline to narrow the search. The course covers backend ablation, compiler IR, provenance, compile logs, kernel replay, and forward comparison across PyTorch/Inductor, JAX/XLA, and torch-spyre. You will also study failure modes that become especially important on statically planned architectures, including padding errors, scratchpad spills, host fallbacks, relayouts, and deadlocks. A worked example follows a real torch-spyre tensor-copy bug from symptom to root cause.

In the lab, you will diagnose three planted failures: an injected NaN, a recompile storm, and a silent numerical divergence.

For each one, you will name the layer, pick a comparison criterion and record the evidence. A 20-question graded quiz at the end covers every module of the course.

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.