def set_subdata(self, data, offset=0, copy=False, **kwargs):
    ' Set a sub-region of the buffer (deferred operation).\n\n        Parameters\n        ----------\n\n        data : ndarray\n            Data to be uploaded\n        offset: int\n            Offset in buffer where to start copying data (in bytes)\n        copy: bool\n            Since the operation is deferred, data may change before\n            data is actually uploaded to GPU memory.\n            Asking explicitly for a copy will prevent this behavior.\n        **kwargs : dict\n            Additional keyword arguments.\n        '
    data = self._prepare_data(data, **kwargs)
    offset = (offset * self.itemsize)
    Buffer.set_subdata(self, data=data, offset=offset, copy=copy)
Set a sub-region of the buffer (deferred operation).

Parameters
----------

data : ndarray
    Data to be uploaded
offset: int
    Offset in buffer where to start copying data (in bytes)
copy: bool
    Since the operation is deferred, data may change before
    data is actually uploaded to GPU memory.
    Asking explicitly for a copy will prevent this behavior.
**kwargs : dict
    Additional keyword arguments.
def set_subdata(self, data, offset=0, copy=False, **kwargs):
    ' Set a sub-region of the buffer (deferred operation).\n\n        Parameters\n        ----------\n\n        data : ndarray\n            Data to be uploaded\n        offset: int\n            Offset in buffer where to start copying data (in bytes)\n        copy: bool\n            Since the operation is deferred, data may change before\n            data is actually uploaded to GPU memory.\n            Asking explicitly for a copy will prevent this behavior.\n        **kwargs : dict\n            Additional keyword arguments.\n        '
    data = self._prepare_data(data, **kwargs)
    offset = (offset * self.itemsize)
    Buffer.set_subdata(self, data=data, offset=offset, copy=copy)