Sharing Graphic card for CUDA computing and graphic interface

Hello all.

I’m writting a software consisting on a Java-made graphic interface and a CUDA-based computing core.

For my objective, I need as much memory as possible, so, when the software starts, I check all the free GPU memory with cuMemGetInfo and allocate a big memory block, leaving a few free MB in the graphics card.

My software worked nicely on windows XP, but now, I’m testing it on windows vista/7 and have some errors. These errors are characterized by calculation errors, screen corruption and cudaUnknownError message when copy from GPU memory.

These errors usually appear when I resize the graphic interface or when I create and resize a 3D surface made with java3D (an optional part of my software). The frequency of these errors decreases drastically (but not dissapears) when I set more free memory in CUDA (maybe 128MB).

Well, I think that the problem is that CUDA core and my graphic interface fight for using the graphic card memory, but I don’t know if there is any way of manage this memory sharing.

So, if you know how to solve this in some way, please tell it to me.

Thank you!


Vista and Windows 7 use some GPU memory for the Aero effects. If you disable all those features then you free up around 60MB of GPU memory (as far as I remember).

Thanks for your repply chippies.

Yes, I know that Aero uses a good amount of memory.

Finally I found a Kernel that, since its execution, the program started to fail. I checked it several times an I didn’t found any bug, so finally I decided to change the program algoritm in that part for another implementation approach and now It works nicely.

Sorry for this post, I was totally convinced it was not a bug of my software because it worked right on XP.