2D Convolution via FFT gives all 0

2D Convolution via FFT gives all 0

Hi, I'm trying to use MKL to facilitate multidimensional convolution. For a same piece of code, 2D convolution works with direct mode but gives all zero with FFT mode. Is there any examples or tips on using this feature? Many thanks.

I was able to do a 2D convolution by

... code fragment ...

int mode = VSL_CONV_MODE_DIRECT;

vslsConvNewTask( &task, mode, dim, xShape, yShape, zShape );

status=vslsConvExec( task, signal, xStride, kernel, yStride, result, zStride );

......

However, if the mode is set to VSL_CONV_MODE_FFT; the result is all zero. And the task execution returns with error: status = -2000

Message Edited by ttf on 03-09-2006 02:08 PM

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Unfortunately, multi-dimensional Fourier method is not implemented.We work on adding this functionality to future MKL releases.

Thanks a lot for replying,ylatkin.

Then I guess I'll need to go throughFFT - Multiplication - FFT myself. I know 1D convolution works with FFT mode. It's a very nice feature to have, giving MKL a sharp edge on winning anyone who's doing signal processing stuffs.

Leave a Comment

Please sign in to add a comment. Not a member? Join today