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
