def kernelize(self, *lst:Tensor) -> Tensor:
    """
    Creates the kernels and buffers needed to realize these Tensor(s).

    NOTE: Kernelize can be called multiple times on a Tensor
    """
    big_sink = UOp.sink(*[x.uop for x in (self,)+lst])

    # verify Tensors match the spec
    if __debug__: type_verify(list(big_sink.toposort()), tensor_uop_spec)

    becomes_map = get_kernelize_map(big_sink)
    _apply_map_to_tensors(becomes_map, name="Apply Kernelize Map")
    return self

    Creates the kernels and buffers needed to realize these Tensor(s).

    NOTE: Kernelize can be called multiple times on a Tensor
    
tinygrad/tensor.py