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
PyCUDA@tiker.net
http://lists.tiker.net/listinfo/pycuda

Reply via email to