MCPcopy
hub / github.com/tinygrad/tinygrad / gettuple

Method gettuple

tinygrad/uop/ops.py:453–456  ·  view source on GitHub ↗
(self, idx:int)

Source from the content-addressed store, hash-verified

451 def maketuple(*srcs:UOp): # pylint: disable=no-self-argument
452 return UOp(Ops.TUPLE, dtypes.void, srcs)
453 def gettuple(self, idx:int) -> UOp:
454 in_tuple = self.src[0] if self.op is Ops.FUNCTION else self
455 assert in_tuple.op is Ops.TUPLE, f"gettuple requires FUNCTION or TUPLE source, got {self.op}"
456 return UOp(Ops.GETTUPLE, in_tuple.src[idx].dtype, (self,), idx)
457 def group(*srcs:UOp|None): # pylint: disable=no-self-argument
458 if len(srcs) == 1 and isinstance(srcs[0], UOp): return srcs[0]
459 return UOp(Ops.GROUP, dtypes.void, tuple([x for x in srcs if x is not None]))

Callers 10

__call__Method · 0.80
call_gradientFunction · 0.80
callMethod · 0.80
rewrite_into_functionFunction · 0.80
multi.pyFile · 0.80
local_abs_maxFunction · 0.80
_rmsnorm_bwdFunction · 0.80
rmsnormFunction · 0.80

Calls 1

UOpClass · 0.85

Tested by 1