When running my CUDA application, after several hours of successful kernel execution I will eventually get an out of memory error caused by a CudaMalloc.
However, when I check the memory remaining I have over 400MB free, and the CudaMalloc call itself is a float array allocation of no more than 5000 elements.
Is it possible this is not actually “out of memory” but some memory has been corrupted? I am not sure if this is related to this http://support.microsoft.com/kb/940105 but I am running XP, not Vista does this even issue even apply?
Any advice on how to debug this would also be greatly appreciated, but running in emulation mode appears not to recreate the problem.