Memory allocation problem


I have got a Quadro FX 5600 with 1.5GB global memory.
I’m trying to create a volume renderer for a quite big volume, based on the “volume renderer” example included in CUDA SDK’s projects.

I have got 2 big memory allocations to do on the device, both made by cudaMalloc:

  1. A constant allocation of ~40MB
  2. A memory block describing the whole volume which can get up to 460MB. This memory is then bound to a uchar texture in the same way it’s done in CUDA’s “volume renderer” project.
    No other significant memory is allocated on the device.

When I try to allocate quite small volumes (checked up to 110MB), it works just fine, but when I try to allocate bigger volumes, I get no error message on runtime but the software doesn’t work.

Does anybody have any idea what the problem is?

Can you post the problematic code portion? does it happen upon first invocation of the host/kernel code or only
after awhile?



Sorry for the delay. I was OOO for a few days.

A sample code “flicking” between 2 alternative volumes (just for real-time illustration) is added (based on CUDA’s original renderer code).

It seems that the problem happens directly on the first invocation.

Any idea about the possible problem? (6.13 KB) (14.2 KB)