I am new to cuda so please forgive me if I missing something basic in my understanding of cufftPlan3d. In the following code, where Nx=512, Ny=512 and Nz=128, I have used over 500MB of memory after the two calls to cufftPlan3d (the output follows). Is cufftPlan3d suppose to take this much memory?
I have two data sets of 256 MB to transform. I run out of memory when I try to cudaMalloc the second data set on my GTX 465. The GTX 465 has Total global mem of 1073414144.
printf(“\n”);
cudaMemGetInfo(&free,&total);
printf(“%d KB free of total %d KB\n”,free/1024,total/1024);
cufftPlan3d(&planr, Nz, Ny, Nx,CUFFT_Z2D);
cufftPlan3d(&planf, Nz, Ny, Nx,CUFFT_D2Z);
printf(“\n”);
cudaMemGetInfo(&free,&total);
printf(“%d KB free of total %d KB\n”,free/1024,total/1024);
Output from code segment.
991736 KB free of total 1048256 KB
463736 KB free of total 1048256 KB
Thanks for your help.