I’m have a problem doing a 2d transform - sometimes it works, and sometimes it doesn’t, and I don’t know why! Here are the details:
My code creates a large matrix that I wish to transform. After clearing all memory apart from the matrix, I execute the following:
[codebox] cufftHandle plan;
cufftResult theresult;
theresult = cufftPlan2d(&plan, t_step_h, z_step_h, CUFFT_C2C);
printf("\n\n\n\n error message: %i\n\n\n\n", theresult);
cufftExecC2C(plan, zt_section_d, zt_section_d, CUFFT_FORWARD);
cufftDestroy(plan);[/codebox]
When the transform fails, I get the following error message:
[codebox] cufft: ERROR: /root/cuda-stuff/sw/rel/gpgpu/toolkit/r2.2/cufft/src/cufft.cu, line 143
cufft: ERROR: CUFFT_INVALID_PLAN
cufft: ERROR: /root/cuda-stuff/sw/rel/gpgpu/toolkit/r2.2/cufft/src/cufft.cu, line 122
cufft: ERROR: CUFFT_INVALID_PLAN
[/codebox]
In addition, the error message integer is 5, which I believe is CUFFT_INTERNAL_ERROR.
As I say, this doesn’t happen all the time. I seem to be able to reproduce it reliably for a 10000x3000 matrix (I have a 4GB card btw). It may not be size related though - I’ve seen 2000x3000 matrices fail, but I’ve also seen 2000x5000 matrices work. I’ve tried using powers of 2 for matrix sizes, and the error still appears.
I appreciate any help people can give.