(C:UOp, D:UOp, A:UOp)
| 418 | |
| 419 | def test_custom_kernel_save_unused_output(self): |
| 420 | def my_kernel(C:UOp, D:UOp, A:UOp) -> UOp: |
| 421 | i = UOp.range(A.shape[0], 0) |
| 422 | j = UOp.range(D.shape[0], 1) |
| 423 | store_c = C[i].store(A[i] * 2.0).end(i) |
| 424 | store_d = D[j].store(A[j]).end(j) |
| 425 | return UOp.sink(store_c, store_d, arg=KernelInfo(name="my_kernel")) |
| 426 | |
| 427 | def my_grad(d_c:UOp, call:UOp): |
| 428 | a_input = call.src[3] |