Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Stefano_S_
Beginner
294 Views

MKL FFT and FFTW

Jump to solution

Does the MKL Library use FFTW internally?

If there are other facilities as well, are there anmy limitations in the radixes?

Thanks

 

0 Kudos
1 Solution
Evgueni_P_Intel
Employee
294 Views

Dear Stefano,

MKL only provides "thin" wrappers implementing some part of FFTW2 and FFTW3 API.

MKL does FFT of any lengths.

MKL is optimized for sizes that are products of 2, 3, 5, 7, 11, 13.

MKL achieves best performance for sizes 2^n.

Thank you.

Evgueni.

 

View solution in original post

3 Replies
Evgueni_P_Intel
Employee
295 Views

Dear Stefano,

MKL only provides "thin" wrappers implementing some part of FFTW2 and FFTW3 API.

MKL does FFT of any lengths.

MKL is optimized for sizes that are products of 2, 3, 5, 7, 11, 13.

MKL achieves best performance for sizes 2^n.

Thank you.

Evgueni.

 

View solution in original post

Stefano_S_
Beginner
294 Views

Thanks Evgueni.

That answers completely my question.

All the best

YUZHONG__HUI
Beginner
294 Views

Hello  Stefano S,

I use vs2013+ivf2013 to  program my fortran code, The FFTW2 wrappers to Intel MKL provide the following subroutines for calling from Fortran:
call fftw_f77_create_plan(plan, n, dir, flags)
call fftw_f77(plan, howmany, in, istride, idist, out, ostride, odist)
call fftw_f77_one(plan, in, out)
call fftw_f77_threads(nthreads, plan, howmany, in, istride, idist, out, ostride, odist)
call fftw_f77_threads_one(nthreads, plan, in, out)
call fftw_f77_destroy_plan(plan)
call fftwnd_f77_create_plan(plan, rank, n, dir, flags)
call fftw2d_f77_create_plan(plan, nx, ny, dir, flags)
call fftw3d_f77_create_plan(plan, nx, ny, nz, dir, flags)
call fftwnd_f77(plan, howmany, in, istride, idist, out, ostride, odist)
call fftwnd_f77_one(plan, in, out)
call fftwnd_f77_threads(nthreads, plan, howmany, in, istride, idist, out, ostride,odist)
call fftwnd_f77_threads_one(nthreads, plan, in, out)

According to the 'FFTW Interface to Intel® Math Kernel Library', just provide the method in Linux like this:make libintel64,,,Do you know how to do in windows?  Could you tell me the details of using the above subrotines?

Think you very much!

Reply