I'm trying to use the GPUArray class to allocate and fill a vector array.
>>> from pycuda import autoinit
>>> autoinit.device.name()
'GeForce GTX 470'
>>> from pycuda import gpuarray
>>> a_gpu = gpuarray.GPUArray(100, dtype=gpuarray.vec.float3)
>>> a_gpu.fill(gpuarray.vec.make_float3(0.0, 0.0, 0.0))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File
"/usr/local/lib/python2.7/dist-packages/pycuda-2011.1-py2.7-linux-x86_64.egg/pycuda/gpuarray.py",
line 496, in fill
func = elementwise.get_fill_kernel(self.dtype)
File "<string>", line 2, in get_fill_kernel
File
"/usr/local/lib/python2.7/dist-packages/pycuda-2011.1-py2.7-linux-x86_64.egg/pycuda/tools.py",
line 518, in context_dependent_memoize
result = func(*args)
File
"/usr/local/lib/python2.7/dist-packages/pycuda-2011.1-py2.7-linux-x86_64.egg/pycuda/elementwise.py",
line 483, in get_fill_kernel
"fill")
File
"/usr/local/lib/python2.7/dist-packages/pycuda-2011.1-py2.7-linux-x86_64.egg/pycuda/elementwise.py",
line 165, in get_elwise_kernel
arguments, operation, name, keep, options, **kwargs)
File
"/usr/local/lib/python2.7/dist-packages/pycuda-2011.1-py2.7-linux-x86_64.egg/pycuda/elementwise.py",
line 151, in get_elwise_kernel_and_types
keep, options, **kwargs)
File
"/usr/local/lib/python2.7/dist-packages/pycuda-2011.1-py2.7-linux-x86_64.egg/pycuda/elementwise.py",
line 68, in get_elwise_module
"arguments": ", ".join(arg.declarator() for arg in arguments),
File
"/usr/local/lib/python2.7/dist-packages/pycuda-2011.1-py2.7-linux-x86_64.egg/pycuda/elementwise.py",
line 68, in <genexpr>
"arguments": ", ".join(arg.declarator() for arg in arguments),
AttributeError: 'numpy.dtype' object has no attribute 'declarator'
Do GPUArray's support the vector types?
_______________________________________________
PyCUDA mailing list
[email protected]
http://lists.tiker.net/listinfo/pycuda