Hi Graham,

Graham Mills <[email protected]> writes:
> I am attempting to use a memory pool for some gpu array calculations,
> using PyCUDA 2013.1 with python 3.x and CUDA 5.5. The trouble is I
> can't find an appropriate integer type with which to call .allocate on
> a DeviceMemoryPool object. All numpy integers as well as the native
> python integer return the error:
>
>
> Boost.Python.ArgumentError: Python argument types in
>     DeviceMemoryPool.allocate(numpy.uint32)
> did not match C++ signature:
>     allocate(boost::shared_ptr<(anonymous 
> namespace)::context_dependent_memory_pool<(anonymous 
> namespace)::device_allocator> >, unsigned long)
>
> I'm not entirely clear yet on how the device memory pool works; am I
> doing something wrong? Does the associated boost module not work with
> the unified python 3 integer type?

I'm not sure that's it, as there are tests for DeviceMemoryPool in
PyCUDA's test suite [1], and they pass in Python 3. If you could try and
put together a minimal reproducer, I'd be happy to take a look.

Andreas

[1] https://github.com/inducer/pycuda/blob/master/test/test_driver.py#L343

Attachment: pgpm6PLDbeaSh.pgp
Description: PGP signature

_______________________________________________
PyCUDA mailing list
[email protected]
http://lists.tiker.net/listinfo/pycuda

Reply via email to