Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 10/31/2024
Public
Document Table of Contents

Calling FFTW2 Interface Wrappers from Fortran

The FFTW2 wrappers to Intel® oneAPI Math Kernel Library (oneMKL) 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.

See also these resources:

www.fftw.org

for the original FFTW 2.x documentation.

Limitations of the FFTW2 Interface to Intel MKL

for limitations of the wrappers.