cudaMalloc3DArray Out of memory


I would like to work with 8x 3D array of float(51251264) with 4 cudaArrays binded in 3D texture and 4 standard arrays in linear memory.

It should use 512 MB but after allocating the 4 textures I get an out of memory error on a 8800GTX with 768MB.

cudaArray *d_fixed;

const cudaExtent volumeSize = make_cudaExtent(m_cols, m_rows, m_planes);

cudaChannelFormatDesc texDesc = cudaCreateChannelDesc<float>();

CUDA_SAFE_CALL( cudaMalloc3DArray(&d_fixed, &texDesc, volumeSize) );

float *d_transform;

const size_t size = m_cols*m_rows*m_planes*sizeof(float);

CUDA_SAFE_CALL( cudaMalloc((void**)&d_transform, size) );

Some precision the 8800GTX is cuda dedicated, I have an other video card for display.

Thanks Guys