Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Calling FFTW2 Interface Wrappers from Fortran

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