On Mittwoch 14 April 2010, gerald wrong wrote: > I am trying to write a gpu kernel to expand an array to a much larger > sparse array using PyCUDA (which I will then perform some linear algebra > on). Currently I have a simple cpu based implementation working nicely, > and I was hoping that PyCUDA would have the tools to allow me to perform > such operation in parallel without manually going down to C kernel using > memoryIDs. > > I need to read a row in from from A_gpu, and then make some modifications > to specific elements of M_gpu. Such an uncoupled task screams for GPGPU. > > I am stuck because I cannot seem to figure out how to retrieve a single > element from a gpuarray without writing a C kernel using memory addresses. > > Is there anything to do: > > M_gpu[i,j] > > in PyCUDA that I missed reading about in the Docs?
Nope--that would be awfully slow. (But it's not hard to code if you need it, using a just a memcpy from the right address.) There is a somehwat limited facility to do 1D slices, but I doubt that's what you want. Unless you're doing the same thing to the whole array, you will likely have to go to CUDA C. Andreas
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ PyCUDA mailing list pyc...@host304.hostmonster.com http://host304.hostmonster.com/mailman/listinfo/pycuda_tiker.net