Just don't forget, pycuda array don't support non contiguous data. But I think numba pro support that. The function also check for that.
Fred On Wed, Jul 17, 2013 at 7:31 PM, Frédéric Bastien <[email protected]> wrote: > Hi, > > In Theano, we have an utility fct that create pycuda array from Theano > cudandarray. It is the first fct in this file: > > https://github.com/Theano/Theano/blob/master/theano/misc/pycuda_utils.py > > I think you can reuse the same logic for numba pro gpu object. > > Fred > > > On Wed, Jul 17, 2013 at 7:27 PM, Michael McNeil Forbes < > [email protected]> wrote: > >> Hi all, >> >> I would like to try to interface PyCuda with NumbaPro (in particular, >> using NumbaPro for the FFT). Attempts like the following fail: >> >> import numbapro.cuda >> import pycuda.gpuarray >> >> A = np.random.random((2, 2, 2)) >> cu_A = numbapro.cuda.to_device(A) >> pycu_A = pycuda.gpuarray.GPUArray( >> shape=cu_A.shape, dtype=cu_A.dtype, gpudata=cu_A.gpu_data, >> strides=cu_A.strides) >> pycu_A.get() >> >> >> --------------------------------------------------------------------------- >> ArgumentError Traceback (most recent call >> last) >> <ipython-input-6-242ab62d4ae4> in <module>() >> ----> 1 pycu_A.get() >> >> /data/apps/anaconda/1.3.1/lib/python2.7/site-packages/pycuda/gpuarray.pyc >> in get(self, ary, pagelocked) >> 250 >> 251 if self.size: >> --> 252 drv.memcpy_dtoh(ary, self.gpudata) >> 253 return ary >> 254 >> >> ArgumentError: Python argument types in >> pycuda._driver.memcpy_dtoh(numpy.ndarray, DeviceMemory) >> did not match C++ signature: >> memcpy_dtoh(pycudaboost::python::api::object dest, unsigned long long src) >> ----------------------- >> >> I am guessing that the issue is the gpudata object which probably needs >> to be of type pycuda.driver.DeviceAllocation but which cannot be allocated >> in python. Is there some way of creating a pycuda.driver.DeviceAllocation >> proxy that actually points to the NumbaPro array data (which has the >> following attributes: >> >> cu_A.gpu_data.bytesize >> cu_A.gpu_data.device_ctypes_pointer >> cu_A.gpu_data.device >> cu_A.gpu_data.driver >> >> Thanks, >> Michael. >> _______________________________________________ >> PyCUDA mailing list >> [email protected] >> http://lists.tiker.net/listinfo/pycuda >> > >
_______________________________________________ PyCUDA mailing list [email protected] http://lists.tiker.net/listinfo/pycuda
