Community
cancel
Showing results for 
Search instead for 
Did you mean: 
stele
Beginner
124 Views

fftwf_plan_r2r_2d failing - expects rank of 1?

I am evaluating the Intel C++ compiler and MKL and have run into a snag. I have some existing fftw code that uses fftwf_plan_r2r_2d() to do an in-place FFT on non-power-of-two image data.

Using MKL fftwf_plan_r2r_2d is returning null. I brought in the wrapper code so I could step into it and the problem is in fftw_plan_guru64_r2r() where it expects a rank of 1.

If fftwf_plan_r2r_2d() handles rank 2 data and it delegates down to fftw_plan_guru64_r2r(), shouldn't that function handle rank 2d data?

I confess I'm a complete moron when it comes to FFT stuff - I'm just using some code I inherited. But it was working with the real fftw library.

Any tips?

0 Kudos
3 Replies
Dmitry_B_Intel
Employee
124 Views

Hi Paul,

Thank you for trying MKL. FFTW3 interfaces that MKL provides do not support multidimensional r2r transforms.

Dima
stele
Beginner
124 Views

Thanks for the confirming that Dmitry. Can you tell me what an alternative way to do a 2D non-power-of-two transform and back - a rough equivalent to fftwf_plan_r2r_2d, that MKL does support? I was using that function to do an in-place cosine only transform.

Dmitry_B_Intel
Employee
124 Views

Paul,

To date MKL supports only a limited set ofr2rtransforms, specifically 1D stride-1 one-transform-per-call sine and cosine transforms. An option to do 2D cosine with MKL is to implement row-col algorithm using these 1D transforms and transposition functions.

Thanks
Dima
Reply