From bbe0bebbf3974f3d9f88d1423ba6dec5ef1d759b Mon Sep 17 00:00:00 2001 From: George Hotz <72895+geohot@users.noreply.github.com> Date: Tue, 28 Oct 2025 12:33:48 +0800 Subject: [PATCH] no range tags in kernels (#12962) --- tinygrad/schedule/rangeify.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tinygrad/schedule/rangeify.py b/tinygrad/schedule/rangeify.py index 4069b7890a..5d26125992 100644 --- a/tinygrad/schedule/rangeify.py +++ b/tinygrad/schedule/rangeify.py @@ -384,8 +384,8 @@ def handle_after(ctx:LocalAddBufferContext, after:UOp): return buf def renumber_range(ctx:LocalAddBufferContext, r:UOp): - if r.tag is not None: return None - ret = r.replace(arg=(ctx.range,)+r.arg[1:], tag=()) + if r.tag != (): return None + ret = r.replace(arg=(ctx.range,)+r.arg[1:], tag=None) ctx.range += 1 return ret @@ -443,6 +443,10 @@ pm_remove_tags = PatternMatcher([ (UPat(GroupOp.All, name="x"), remove_metadata_tags), ]) +pm_add_range_tags = PatternMatcher([ + (UPat(Ops.RANGE, name="x"), lambda x: x.rtag(())) +]) + @dataclass(frozen=True) class Kernel: ast: UOp @@ -532,7 +536,7 @@ def get_rangeify_map(sink:UOp) -> dict[UOp, UOp]: if getenv("VIZ"): graph_rewrite(tsink, PatternMatcher([]), name="View Tagged Rangeify") # bufferize -> store - tsink = graph_rewrite(tsink, pm_add_buffers, bottom_up=True, name="bufferize to store") + tsink = graph_rewrite(tsink, pm_add_buffers+pm_add_range_tags, bottom_up=True, name="bufferize to store") tsink = graph_rewrite(tsink, split_kernels, ctx=uop_list, name="split kernels") # if a kernel depends on a buffer, and that buffer is later assigned to, make the assign depend on the kernel's assign