Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

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

Document Table of Contents

Trigonometric Transform Routines

In addition to the Fast Fourier Transform (FFT) interface, described in Fast Fourier Transforms, Intel® oneAPI Math Kernel Library (oneMKL) supports theReal Discrete Trigonometric Transforms (sometimes called real-to-real Discrete Fourier Transforms) interface. In this document, the interface is referred to as TT interface. It implements a group of routines (TT routines) used to compute sine/cosine, staggered sine/cosine, and twice staggered sine/cosine transforms (referred to as staggered2 sine/cosine transforms, for brevity). The TT interface provides much flexibility of use: you can adjust routines to your particular needs at the cost of manually tuning routine parameters or just call routines with default parameter values. The current Intel® oneAPI Math Kernel Library (oneMKL) implementation of the TT interface can be used in solving partial differential equations and contains routines that are helpful for Fast Poisson and similar solvers.

To describe the Intel® oneAPI Math Kernel Library (oneMKL) TT interface, the C convention is used. Fortran users should refer toCalling PDE Support Routines from Fortran.

For the list of Trigonometric Transforms currently implemented in Intel® oneAPI Math Kernel Library (oneMKL) TT interface, seeTransforms Implemented.

If you have got used to the FFTW interface (www.fftw.org), you can call the TT interface functions through real-to-real FFTW to Intel® oneAPI Math Kernel Library (oneMKL) wrappers without changing FFTW function calls in your code (refer toFFTW to Intel® MKL Wrappers for FFTW 3.x for details). However, you are strongly encouraged to use the native TT interface for better performance. Another reason why you should use the wrappers cautiously is that TT and the real-to-real FFTW interfaces are not fully compatible and some features of the real-to-real FFTW, such as strides and multidimensional transforms, are not available through wrappers.