Hello,
I am trying to implement 3D convolution using Cuda. As of now, I am using the 2D Convolution 2D sample that came with the Cuda sdk.
Using the volume rendering example and the 3D texture example, I was able to extend the 2D convolution sample to 3D.
Even though the max Block dimensions for my card are 512x512x64, when I have anything other than 1 as the last argument in
dim3 dataBlockGrid(iDivUp(FFT_W , threadBlock.x ), iDivUp(FFT_D , threadBlock.y), 1);
I get the following error (during the cufftExecC2C call), even though the 3d convolution kernel is just 8x8x8 and the number of threads being used are 8x8x8 - dim3 threadBlock(8, 8, 8) ).
Transforming convolution kernel…
cufft: ERROR: D:/Bld/rel/gpgpu/toolkit/r2.0/cufft/src/execute.cu, line 1038
cufft: ERROR: CUFFT_EXEC_FAILED
cufft: ERROR: D:/Bld/rel/gpgpu/toolkit/r2.0/cufft/src/execute.cu, line 297
cufft: ERROR: CUFFT_EXEC_FAILED
cufft: ERROR: D:/Bld/rel/gpgpu/toolkit/r2.0/cufft/src/cufft.cu, line 119
cufft: ERROR: CUFFT_EXEC_FAILED
I am using cufftPlan3d (as per David luebke and other’s notes on using cufft). Please let me know if you see any glaring mistakes or have any suggestions. Thanks a lot.
Regards,
Alark