| 711 | return UOp(Ops.BUFFER, dtype, (UOp.unique(num), UOp(Ops.DEVICE, arg=device)), size) |
| 712 | @staticmethod |
| 713 | def from_buffer(opaque:Buffer, device:str|tuple[str, ...]|None=None): |
| 714 | buffers[uop:=UOp.new_buffer(device or opaque.device, opaque.size, opaque.dtype)] = opaque.ref(1) |
| 715 | return uop |
| 716 | @staticmethod |
| 717 | def empty(shape:tuple[sint, ...], dtype:DTypeLike|None=None, device:str|tuple[str, ...]|None=None, axis:int|None=None, num=None) -> UOp: |
| 718 | dtype, device = to_dtype(dtype) if dtype is not None else dtypes.default_float, canonicalize_device(device) |