Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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