def __init__(self, shape, dtype=float, memptr=None, strides=None): self._shape = shape = tuple(shape) self._dtype = dtype = numpy.dtype(dtype) size = 1 for s in shape: size *= s self._size = size if memptr is None: self.data = cuda.alloc(size * dtype.itemsize) else: self.data = memptr if strides is None: self._strides = internal.get_contiguous_strides( shape, dtype.itemsize) self._c_contiguous = 1 self._f_contiguous = int(not size or len(shape) - shape.count(1) <= 1) else: self._strides = strides self._c_contiguous = -1 self._f_contiguous = -1 self.base = None
def __init__(self, shape, dtype=float, memptr=None, strides=None): self._shape = shape = _get_size(shape) self._dtype = dtype = numpy.dtype(dtype) size = 1 for s in shape: size *= s self._size = size if memptr is None: self.data = cuda.alloc(size * dtype.itemsize) else: self.data = memptr if strides is None: self._strides = internal.get_contiguous_strides( shape, dtype.itemsize) self._c_contiguous = 1 self._f_contiguous = int( not size or len(shape) - shape.count(1) <= 1) else: self._strides = strides self._c_contiguous = -1 self._f_contiguous = -1 self.base = None
def __init__(self, shape, dtype=float, memptr=None, strides=None): self._shape = tuple(shape) self._dtype = numpy.dtype(dtype) nbytes = self.nbytes if memptr is None: self.data = cuda.alloc(nbytes) else: self.data = memptr if strides is None: self._strides = internal.get_contiguous_strides( self._shape, self.itemsize) self._flags = flags.C_CONTIGUOUS | flags.OWNDATA if numpy.sum(dim != 1 for dim in shape) <= 1 or nbytes == 0: self._flags |= flags.F_CONTIGUOUS else: self._strides = strides self._flags = flags.OWNDATA self._mark_dirty() self.base = None