Could you use gpuarray.take()? There is also apparently an undocumented multi_take(), but I don't know how it works. If you absolutely need the slicing syntax, it probably wouldn't be hard to modify __getitem__ to use take/multi_take.
From: PyCUDA <email@example.com> on behalf of Rasmus Diederichsen <***@gmail.com>
Sent: Tuesday, July 24, 2018 5:24:40 AM
Subject: [PyCUDA] How can I emulated numpy-style index arrays?
Good day, list.
In numpy, one can use arrays of ints to select a non-contiguous subarray, but the same does not work in Pycuda (only slices, ellipses and ints). Is there a straightforward way to emulate this behaviour (maybe use some memcpy call to extract the relevant data)?