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 <syam.ga...@duke.edu> wrote:
> 
> 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.
> 
> -syam
> 
> From: PyCUDA <pycuda-boun...@tiker.net> on behalf of Rasmus Diederichsen 
> <rasmusdiederich...@gmail.com>
> Sent: Tuesday, July 24, 2018 5:24:40 AM
> To: pycuda@tiker.net
> 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)?
> 
> Cheers,
> Rasmus

Attachment: signature.asc
Description: Message signed with OpenPGP

_______________________________________________
PyCUDA mailing list
PyCUDA@tiker.net
https://lists.tiker.net/listinfo/pycuda

Reply via email to