Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public
Document Table of Contents

Cluster FFT Interface

To use the cluster FFT functions, you need to access the module MKL_CDFT through the "use" statement.

The Fortran interface provides a derived type DFTI_DESCRIPTOR_DM; a number of named constants representing various names of configuration parameters and their possible values; and a number of overloaded functions through the generic functionality of Fortran 95.

To provide communication between parallel processes through MPI, the following include statement must be present in your code:

  • Fortran:

    INCLUDE "mpif.h"

    (for some MPI versions, "mpif90.h" header may be used instead).

There are three main categories of the cluster FFT functions in Intel® oneAPI Math Kernel Library (oneMKL):

  1. Descriptor Manipulation. There are three functions in this category. The DftiCreateDescriptorDM function creates an FFT descriptor whose storage is allocated dynamically. The DftiCommitDescriptorDM function "commits" the descriptor to all its settings. The DftiFreeDescriptorDM function frees up the memory allocated for the descriptor.

  2. FFT Computation. There are two functions in this category. The DftiComputeForwardDM function performs the forward FFT computation, and the DftiComputeBackwardDM function performs the backward FFT computation.

  3. Descriptor Configuration. There are two functions in this category. The DftiSetValueDM function sets one specific configuration value to one of the many configuration parameters. The DftiGetValueDM function gets the current value of any of these configuration parameters, all of which are readable. These parameters, though many, are handled one at a time.