qazal
qazal
It's because of "ever fake const" https://github.com/tinygrad/tinygrad/pull/7801/commits/ef188a64938882c876a3f835bcacd191fc94bed4 otherwise uops should fix this. Sadly if you dedup const it increases kernel count significantly in mnist, this is a problem in the...
It needs a careful use of Ops.UNIQUE to work, same issue as https://github.com/tinygrad/tinygrad/pull/8808.
ack - fixing
status: making progress on completing the logic for `_can_localize` ```py # is r + rest is a self-contained DAG within the large graph? def _can_localize(r:LazyBuffer, *rest:LazyBuffer) -> bool ``` I...
This diff suggests: 1. Linearizer is now dealing with ENDIF 2. The specification of a UOp's vins changes Is there a way to isolate this behavior in `def add_ends(self):`?
UOps always form a graph. I think we can reason about this as each consecutive barrier depends on the previous (BARRIER -> IF) block. I'm more interested in a diff...
nice, is this ready to test end-to-end? Can you merge it with #4259
@0xtimmy Can you make it works with the BARRIER one https://github.com/tinygrad/tinygrad/pull/4457/commits/18641c99228108b7e52799bab0050d75725b1910 There are two merge blockers for this: 1. Can you update #4259 with this diff? 2. `test_early_endif` doesn't test...