MCPcopy Index your code
hub / github.com/tinygrad/tinygrad / __init__

Method __init__

tinygrad/device.py:101–118  ·  view source on GitHub ↗
(self, device:str, size:int, dtype:DType, opaque:Any=None, options:BufferSpec|None=None, initial_value:bytes|None=None,
               uop_refcount=0, base:Buffer|None=None, offset:int=0, preallocate=False)

Source from the content-addressed store, hash-verified

99class Buffer:
100 profile_events:list[ProfileEvent] = []
101 def __init__(self, device:str, size:int, dtype:DType, opaque:Any=None, options:BufferSpec|None=None, initial_value:bytes|None=None,
102 uop_refcount=0, base:Buffer|None=None, offset:int=0, preallocate=False):
103 assert isinstance(dtype, DType) and not isinstance(dtype, PtrDType)
104 self.device, self.size, self.dtype, self.options, self.offset, self.allocated_views = device, size, dtype, options, offset, 0
105 self._bufs: dict[str, Any] = {}
106 if base is None:
107 assert offset == 0, "base buffers can't have offset"
108 self._base = None
109 self._uop_refcount = uop_refcount
110 if opaque is not None: self.allocate(opaque)
111 if initial_value is not None:
112 self.allocate()
113 self.copyin(memoryview(initial_value))
114 else:
115 assert base._base is None, "base can't have a base"
116 assert device == base.device, "base must have the same device"
117 self._base = base
118 if preallocate: self.allocate()
119 @property
120 def base(self) -> Buffer: return self._base if self._base is not None else self
121 @property

Callers 1

__init__Method · 0.45

Calls 2

allocateMethod · 0.95
copyinMethod · 0.95

Tested by

no test coverage detected