Hi Andreas -
Thanks for the response - I'm of course using allocator.stop_holding() in my 
programs which use the memory pool.  
It turns out the problem was actually that I had gotten my pycuda installation 
in some inconsistent state.  Deleting the build directory and rebuilding solved 
my problem.

Thanks again,
bryan



On Oct 1, 2010, at 6:32 AM, Andreas Kloeckner wrote:

> Hi Bryan,
> 
> On Wed, 29 Sep 2010 17:17:25 -0700, Bryan Catanzaro 
> <catan...@eecs.berkeley.edu> wrote:
>> I recently upgraded to CUDA 3.2 RC, and pulled PyCUDA from git, on my Mac OS 
>> X installation (running a 32 bit Python 2.6).
>> For some reason, trying to create a GPUArray, using 
>> pycuda.tools.DeviceMemoryPool.allocate as the allocator, causes an error.
>> Creating the same GPUArray, using the default allocator, seems to work fine. 
>>  Before upgrading CUDA and PyCUDA, creating GPUArrays with the memory pool 
>> worked for me.
>> 
>> I've attached a minimal program with this problem.  Has anyone else seen 
>> this error?
> 
> Easy solution: Call
> 
> allocator.stop_holding()
> 
> before the end of your program (e.g. in a try-finally). Why? The
> allocator holds on to chunks of memory on the device, and by the time
> it's told to let go of these memory blocks, all of CUDA and PyCUDA may
> have already been torn down, at which point stuff starts going wrong.
> 
> HTH,
> Andreas
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
PyCUDA mailing list
PyCUDA@tiker.net
http://lists.tiker.net/listinfo/pycuda

Reply via email to