MCPcopy
hub / github.com/tinygrad/tinygrad / flip_contract_kernel

Function flip_contract_kernel

test/backend/test_custom_kernel.py:50–55  ·  view source on GitHub ↗
(dest:UOp, src:UOp)

Source from the content-addressed store, hash-verified

48 return B.sink(arg=KernelInfo(name=f"custom_sum_{A.shape[0]}", opts_to_apply=()))
49
50def flip_contract_kernel(dest:UOp, src:UOp):
51 i = UOp.range(dest.shape[0], 0)
52 j = UOp.range(dest.shape[1], 1, AxisType.UPCAST)
53 vec = src[i, j].contract(j)
54 store = UOp.group(*[dest[i, k].store(vec.gep(3-k)) for k in range(4)])
55 return store.end(i, j).sink(arg=KernelInfo(name=f"flip_contract_{dest.numel()}", opts_to_apply=()))
56
57def slice_sum_kernel(dest:UOp, src:UOp):
58 G = UOp.range(src.shape[0], 0)

Callers

nothing calls this directly

Calls 9

KernelInfoClass · 0.90
contractMethod · 0.80
numelMethod · 0.80
rangeMethod · 0.45
groupMethod · 0.45
storeMethod · 0.45
gepMethod · 0.45
sinkMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…