Correctness: why is the result wrong?
Reduce
small reproducer
Compare
vs CPU reference
Walk the stack
find divergence
Replay
at the contract
Fix
+ regression test
Performance: where did the time go?
Bound
the timed region
Split
kernel vs DMA
Compare
to compiler ideal
Attribute
bytes per level
Re-measure
one change a run
PyTorch
program
FX
graph
Loop /
tiled IR
Layout,
work split
OpSpec
contract
Backend
compile
Runtime,
DMA
Device
execution
frontend
backend
First divergence
Compiler and runtime stack