[src]
Python sourcey = x @ w
CPython bytecodeLOAD_FAST x · LOAD_FAST w · BINARY_OP @
capture, only the tensor operations cross out of Python
TorchScript IR%y : Tensor = aten::matmul(%x, %w)
Torch IR (FX)%y = call_function[torch.matmul]
ATen IR (FX)%y = aten.mm(%x, %w)
one altitude in three notations, one node per operation
the cliff, node becomes loops, matmul unrecoverable below
Inductor IRfor i0, i1: load(x) · load(w) · store(y)
Triton IR%c = tt.dot %a, %b
ML COMPILER
LLVM IR%3 = fadd float %1, %2
PTXfma.rn.f32 %f4, %f1, %f2, %f3