I was investigating this, but take() only seems to accept an array of integer indices,
which would help in the 1d-case, but if I want to do it in multiple dimensions or pass
e.g. : for those, it doesn't help.
I don't understand what's going on in multi_take either, but "multi"
seems to be about multiple arrays, not multiple dimensions.
On 24. Jul 2018, at 15:12, Syam Gadde
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 <pycuda-bounces(a)tiker.net> on behalf of Rasmus Diederichsen
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)?