Python 方便地在设备和主机之间传输具有重叠内存的阵列

Python 方便地在设备和主机之间传输具有重叠内存的阵列,python,arrays,pyopencl,Python,Arrays,Pyopencl,我正在尝试在设备和主机之间传输数据。在外部,我通过改变用于访问缓冲区中元素的步幅,将设备缓冲区表示为某种“滑动窗口视图”。这意味着缓冲区的多个区域是互斥访问的,但在内部,缓冲区的大小与更改步幅之前相同(分配的内存块相同) enqueue\u copy给出以下错误 return _cl._enqueue_read_buffer(queue, src, dest, **kwargs) ValueError: ndarray is not contiguous 显然这是因为我在改变步幅。在设

我正在尝试在设备和主机之间传输数据。在外部,我通过改变用于访问缓冲区中元素的步幅,将设备缓冲区表示为某种“滑动窗口视图”。这意味着缓冲区的多个区域是互斥访问的,但在内部,缓冲区的大小与更改步幅之前相同(分配的内存块相同)

enqueue\u copy
给出以下错误

    return _cl._enqueue_read_buffer(queue, src, dest, **kwargs)
ValueError: ndarray is not contiguous
显然这是因为我在改变步幅。在设备和主机之间传输数据时,是否可以指定结果跨距

我可能会为此编写一个新内核

    return _cl._enqueue_read_buffer(queue, src, dest, **kwargs)
ValueError: ndarray is not contiguous