# Cluster FFT Functions

This section describes the cluster Fast Fourier Transform (FFT) functions implemented in Intel® MKL.

### Note

These functions are available only for the Linux* and Windows* operating systems.

The cluster FFT function library was designed to perform fast Fourier transforms on a cluster, that is, a group of computers interconnected via a network. Each computer (node) in the cluster has its own memory and processor(s). Data interchanges between the nodes are provided by the network.

One or more processes may be running in parallel on each cluster node. To organize communication between different processes, the cluster FFT function library uses the Message Passing Interface (MPI). To avoid dependence on a specific MPI implementation (for example, MPICH, Intel® MPI, and others), the library works with MPI via a message-passing library for linear algebra called BLACS.

Cluster FFT functions of Intel MKL provide one-dimensional, two-dimensional, and multi-dimensional (up to the order of 7) functions and both Fortran and C interfaces for all transform functions.

To develop applications using the cluster FFT functions, you should have basic knowledge of and skills in MPI programming.

The interfaces for the Intel MKL cluster FFT functions are similar to the corresponding interfaces for the conventional Intel MKL FFT functions. Refer there for details not explained in this section.

Table “Cluster FFT Functions in Intel MKL” lists cluster FFT functions implemented in Intel MKL:

Cluster FFT Functions in Intel MKL
Function Name | Operation
--- | ---
Descriptor Manipulation Functions
DftiCreateDescriptorDM | Allocates memory for the descriptor data structure and preliminarily initializes it.
DftiCommitDescriptorDM | Performs all initialization for the actual FFT computation.
DftiFreeDescriptorDM | Frees memory allocated for a descriptor.
FFT Computation Functions
DftiComputeForwardDM | Computes the forward FFT.
DftiComputeBackwardDM | Computes the backward FFT.
Descriptor Configuration Functions
DftiSetValueDM | Sets one particular configuration parameter with the specified configuration value.
DftiGetValueDM | Gets the value of one particular configuration parameter.