From fd7fd9cdca6fc688d31b2d9330bec11e1b3eb7a4 Mon Sep 17 00:00:00 2001 From: chenyu Date: Wed, 1 Jul 2026 02:14:07 -0400 Subject: [PATCH] move GETADDR device to its arg (#16808) --- extra/hcq2/hcq2.py | 18 +++++++++--------- spec/tinyspec.pdf | Bin 96758 -> 96938 bytes spec/tinyspec.tex | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/extra/hcq2/hcq2.py b/extra/hcq2/hcq2.py index 7021dd8e0b..7fccc0cd39 100644 --- a/extra/hcq2/hcq2.py +++ b/extra/hcq2/hcq2.py @@ -138,7 +138,7 @@ def unwrap_after(uop): def make_getaddr(u, device=None): if unwrap_after(u).op not in (Ops.BUFFER, Ops.SLICE, Ops.BINARY, Ops.MSTACK, Ops.MSELECT, Ops.PARAM): return u - return UOp(Ops.GETADDR, dtypes.uint64, src=(u, UOp(Ops.DEVICE, arg=device or to_tuple(u.device)[0]))) + return UOp(Ops.GETADDR, dtypes.uint64, src=(u,), arg=device or to_tuple(u.device)[0]) def make_ins(op, *srcs): return UOp(Ops.INS, dtypes.void, tuple(UOp.const(dtypes.uint32, s) if isinstance(s, int) else s.cast(dtypes.uint32) for s in srcs), op) @@ -214,9 +214,9 @@ def prep_program(call:UOp, prg:UOp) -> UOp|None: return prg.replace(src=(buf.after(buf.store(blob)),), arg=(data, prg.arg)).call(*call.src[1:], aux=HCQInfo.from_call(call)) def prep_kernargs(call:UOp, prg:UOp) -> UOp: - (data, info), dev_uop = prg.arg, UOp(Ops.DEVICE, arg=call.src[1].device) - buf = UOp.new_buffer(dev_uop.arg, data.kernargs_alloc_size, dtypes.uint8).rtag("kernargs") - patches = [make_patch(buf, i*8, make_getaddr(call.src[1+gi], dev_uop.arg)) for i,gi in enumerate(info.globals)] \ + (data, info), dev = prg.arg, call.src[1].device + buf = UOp.new_buffer(dev, data.kernargs_alloc_size, dtypes.uint8).rtag("kernargs") + patches = [make_patch(buf, i*8, make_getaddr(call.src[1+gi], dev)) for i,gi in enumerate(info.globals)] \ + [make_patch(buf, len(info.globals)*8 + i*4, v, dtypes.uint32) for i,v in enumerate(info.vars)] return call.replace(src=(prg.replace(src=prg.src + (buf.after(*patches),), arg=(data, info)),) + call.src[1:]) @@ -517,15 +517,15 @@ def fold_const_store(buf:UOp, off:UOp, val:UOp) -> UOp: def resolve_getaddr(buf:UOp, g:UOp) -> UOp: if buf.op not in (Ops.BUFFER, Ops.MSTACK, Ops.MSELECT): return buf - devs, b = to_tuple(g.src[1].arg), buf.buffer + devs, b = to_tuple(g.arg), buf.buffer bufs = tuple(cast(Buffer, x.buffer) for x in buf.src) if buf.op is Ops.MSTACK else tuple(b.bufs if isinstance(b, MultiBuffer) else (b,)*len(devs)) assert len(bufs) == len(devs), f"can't resolve {len(bufs)} buffers on {len(devs)} devices" addrs = tuple(UOp.const(dtypes.uint64, x.get_buf(d).va_addr) for x, d in zip(bufs, devs)) return addrs[0] if len(addrs) == 1 else UOp(Ops.STACK, dtypes.uint64.vec(len(addrs)), addrs) -def resolve_getaddr_slice(bv:UOp, dev:UOp) -> UOp: +def resolve_getaddr_slice(bv:UOp, g:UOp) -> UOp: itemsize = bv.src[0].dtype.itemsize if unwrap_after(bv.src[0]).op in (Ops.BUFFER, Ops.SLICE, Ops.MSTACK, Ops.MSELECT) else bv.dtype.itemsize - return UOp(Ops.GETADDR, dtypes.uint64, src=(bv.src[0], dev)) + UOp.const(dtypes.uint64, bv.src[1].arg * itemsize) + return UOp(Ops.GETADDR, dtypes.uint64, src=(bv.src[0],), arg=g.arg) + UOp.const(dtypes.uint64, bv.src[1].arg * itemsize) pm_resolve_patches = PatternMatcher([ # multi @@ -537,8 +537,8 @@ pm_resolve_patches = PatternMatcher([ lambda shr, bv: shr.replace(src=(bv.src[0], shr.src[1] + bv.src[1].cast(shr.src[1].dtype), shr.src[2]))), # getaddr - (UPat(Ops.GETADDR, src=(UPat(Ops.SLICE, name="bv"), UPat(Ops.DEVICE, name="dev"))), resolve_getaddr_slice), # getaddr(slice(x)) -> offset+getaddr(x) - (UPat(Ops.GETADDR, src=(UPat(name="buf"), UPat(Ops.DEVICE)), name="g"), resolve_getaddr), + (UPat(Ops.GETADDR, src=(UPat(Ops.SLICE, name="bv"),), name="g"), resolve_getaddr_slice), # getaddr(slice(x)) -> offset+getaddr(x) + (UPat(Ops.GETADDR, src=(UPat(name="buf"),), name="g"), resolve_getaddr), # folders (UPat({Ops.BUFFER, Ops.SLICE, Ops.MSTACK}, name="buf").store(UPat(Ops.BINARY, name="blob")), fold_blob_store), diff --git a/spec/tinyspec.pdf b/spec/tinyspec.pdf index 7ff340de6405c63ca4d90b1811fba2f7644b68bc..04d4c674391f5239dddab41450e0ad0aef094550 100644 GIT binary patch delta 53418 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