Calling Wrappers from Fortran

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 )

call fftwnd_f77_destroy_plan(plan )

call rfftw_f77_create_plan(plan, n, dir , flags )

call rfftw_f77(plan, howmany, in , istride , idist , out , ostride , odist )

call rfftw_f77_one(plan, in , out )

call rfftw_f77_threads(nthreads, plan, howmany, in , istride , idist , out , ostride , odist )

call rfftw_f77_threads_one(nthreads, plan, in , out )

call rfftw_f77_destroy_plan(plan )

call rfftwnd_f77_create_plan(plan, rank, n , dir , flags )

call rfftw2d_f77_create_plan(plan, nx, ny , dir , flags )

call rfftw3d_f77_create_plan(plan, nx, ny , nz , dir , flags )

call rfftwnd_f77_complex_to_real(plan, howmany, in , istride , idist , out , ostride , odist )

call rfftwnd_f77_one_complex_to_real (plan, in , out )

call rfftwnd_f77_real_to_complex(plan, howmany, in , istride , idist , out , ostride , odist )

call rfftwnd_f77_one_real_to_complex (plan, in , out )

call rfftwnd_f77_threads_complex_to_real(nthreads, plan, howmany, in , istride , idist , out , ostride , odist )

call rfftwnd_f77_threads_one_complex_to_real(nthreads, plan, in , out )

call rfftwnd_f77_threads_real_to_complex(nthreads, plan, howmany, in , istride , idist , out , ostride , odist )

call rfftwnd_f77_threads_one_real_to_complex(nthreads, plan, in , out )

call rfftwnd_f77_destroy_plan(plan )

call fftw_f77_threads_init(info)

The FFTW Fortran functions are wrappers to FFTW C functions. So, their functionality and limitations are the same as of the corresponding C wrappers.

See also these resources:

Wrappers Reference

for a description of the FFTW2 C wrappers to Intel MKL.

www.fftw.org

for the original FFTW 2.x documentation.

Limitations of the FFTW2 Interface to Intel MKL

for limitations of the wrappers.

Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.