To use the cluster FFT functions, you need to access the header file mkl_cdft.h through "include".
The C interface provides a structure type DFTI_DESCRIPTOR_DM_HANDLE and a number of functions, some of which accept a different number of input arguments.
To provide communication between parallel processes through MPI, the following include statement must be present in your code:
There are three main categories of the cluster FFT functions in Intel MKL:
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.
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.
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.