Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

MKL FFT and FFTW

Stefano_S_
Beginner
1,571 Views

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
1,571 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

0 Kudos
3 Replies
Evgueni_P_Intel
Employee
1,572 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.

 

0 Kudos
Stefano_S_
Beginner
1,571 Views

Thanks Evgueni.

That answers completely my question.

All the best

0 Kudos
YUZHONG__HUI
Beginner
1,571 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!

0 Kudos
Reply