3d convolution

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

I have the same problem. Please Help.

The last argument of the dimGrid must be 1, please check the manual.