MCPcopy
hub / github.com/tinygrad/tinygrad / custom_elementwise_add_kernel

Function custom_elementwise_add_kernel

test/backend/test_custom_kernel.py:23–26  ·  view source on GitHub ↗
(C:UOp, A:UOp, B:UOp)

Source from the content-addressed store, hash-verified

21 return B[i].store(A[i] + 1).end(i).sink(arg=KernelInfo(name=f"add_one_{A.numel()}"))
22
23def custom_elementwise_add_kernel(C:UOp, A:UOp, B:UOp) -> UOp:
24 C,A,B = C.flatten(), A.flatten(), B.flatten()
25 i = UOp.range(C.numel(), 0)
26 return C[i].store(A[i]+B[i]).end(i).sink(arg=KernelInfo(name=f"custom_add_kernel_{C.numel()}")).simplify()
27
28def custom_elementwise_addmul_kernel(C:UOp, D:UOp, A:UOp, B:UOp) -> UOp:
29 C,D,A,B = C.flatten(), D.flatten(), A.flatten(), B.flatten()

Callers

nothing calls this directly

Calls 8

KernelInfoClass · 0.90
flattenMethod · 0.80
numelMethod · 0.80
rangeMethod · 0.45
simplifyMethod · 0.45
sinkMethod · 0.45
endMethod · 0.45
storeMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…