From ac232bceb5ff122f7cc57bd1efc8571b4d0bf9b1 Mon Sep 17 00:00:00 2001 From: George Hotz Date: Wed, 21 Jan 2026 21:41:29 +0900 Subject: [PATCH] remove the device when we render --- tinygrad/schedule/rangeify.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tinygrad/schedule/rangeify.py b/tinygrad/schedule/rangeify.py index 314ff2eefa..e81f5a6d32 100644 --- a/tinygrad/schedule/rangeify.py +++ b/tinygrad/schedule/rangeify.py @@ -1,4 +1,4 @@ -from dataclasses import dataclass, field +from dataclasses import dataclass, field, replace import itertools from tinygrad.dtype import dtypes, PtrDType, ImageDType, AddrSpace from tinygrad.uop.ops import PatternMatcher, UPat, Ops, UOp, resolve, GroupOp, _substitute, KernelInfo @@ -429,6 +429,9 @@ to_define_global = PatternMatcher([ (UPat(Ops.BIND, name="b"), unbind_kernel), (UPat((Ops.MSTACK, Ops.MSELECT, Ops.AFTER), name="after"), handle_after), + # remove device from local BUFFERIZE + (UPat(Ops.BUFFERIZE, name="b"), lambda b: b.replace(arg=replace(b.arg, device=None))), + # HACK in case any CONSTs were replaced # this is only needed if you are using symbolic (UPat((Ops.CONST, Ops.DEFINE_VAR), name="c"), lambda c: c.replace(src=()) if len(c.src) else None),