Problem Report (32-bit cudart on 64-bit) cudaMalloc() returning cudaErrorUnknown

- Operating System
Windows XP 64-bit SP1

- Synopsis description of the problem
I have been running into cudaMalloc() problems on Windows XP 64-bit. This is not specific to any particular application. Even simple applications that just allocates little memory and frees face problems after invoking them successively for more than around 15 times.

- Detailed description of the problem
I have a Windows XP 64-bit setup on which I run 32-bit apps using 32-bit cudart.dll. I am not sure, at the momment, if this problem is specific to this setup.
Just write a simple application that would do a “cudaMalloc() and then do a cudaFree() and exit”. Lauch it more than 15 times… You will find that cudaMalloc() returns cudaErrorUnknown at some point. make sure your application is compiled as 32-bit and you use a 32-bit cudart.dll
Note that My development machine is 32-bit. So, I write programs on this 32-bit machine and ship it with cudart.dll and run the same on 64-bit machine. You may need to copy the Windows CRT dir (VCDIR/VC/redist/x86/Microsoft.VC80.CRT…) to the place where you compile your app. App is compiled in release mode. I have not tried debug configuration yet.

- CUDA toolkit release version

CUDA 2.0 WinXP 64-bit, applocal cudart.dll is 32-bit CUDA 2.0

- SDK release version

The one that comes with CUDA 2.0 from the official site.

- Compiler for CPU host code

VS8 2005 SP1 (32-bit development machine)
VS9 2008 (64-bit testing machine) – jus in case if this matters – i dont use this for compilation. Just that it is installed on testing machine

- System description including:
CPU type, CPU speed, installed system RAM, system type and model, video cards installed in the system, chipset type
CPU type: AMD64
CPU Speed: 2.41GHz (there r two of them)
RAM: 2GiB
System type and model: not sure (I am away frm the sys at the momment)
Video cards: 8800 GTX (the only card, primary)
chipset type: Model: AMD690G/V ; Manufacturer: Gigabyte:
Award BIOS Code: 08/06/2007 - RS690V - SB600 - 6A669G01C-00

Related links:
http://forums.nvidia.com/index.php?showtopic=82082 – Look @ My and Malang’s comments toward the end.

http://forums.nvidia.com/index.php?showtopic=82401 - The same problem report in the CUDA programming and development forum.
cudaMallocBugReport.txt (2.06 KB)