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
signature.asc
Description: Message signed with OpenPGP
_______________________________________________ PyCUDA mailing list PyCUDA@tiker.net https://lists.tiker.net/listinfo/pycuda