Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

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

Document Table of Contents

DftiCreateDescriptorDM

Allocates memory for the descriptor data structure and preliminarily initializes it.

Syntax

status = DftiCreateDescriptorDM(comm, &handle, v1, v2, dim, size );

status = DftiCreateDescriptorDM(comm, &handle, v1, v2, dim, sizes );

Include Files

  • mkl_cdft.h

Input Parameters

comm
MPI communicator, e.g. MPI_COMM_WORLD.
v1
Precision of the transform.
v2
Type of the forward domain. Must be DFTI_COMPLEX for complex-to-complex transforms or DFTI_REAL for real-to-complex transforms.
dim
Dimension of the transform.
size
Length of the transform in a one-dimensional case.
sizes
Lengths of the transform in a multi-dimensional case.

Output Parameters

handle
Pointer to the descriptor handle of transform. If the function completes successfully, the pointer to the created handle is stored in the variable.

Description

This function allocates memory in a particular MPI process for the descriptor data structure and instantiates it with default configuration settings with respect to the precision, domain, dimension, and length of the desired transform. The domain is understood to be the domain of the forward transform. The result is a pointer to the created descriptor. This function is slightly different from the "initialization" function DftiCommitDescriptorDM in a more traditional software packages or libraries used for computing the FFT. This function does not perform any significant computation work, such as twiddle factors computation, because the default configuration settings can still be changed using the function DftiSetValueDM.

The value of the parameter v1 is specified through named constants DFTI_SINGLE and DFTI_DOUBLE. It corresponds to precision of input data, output data, and computation. A setting of DFTI_SINGLE indicates single-precision floating-point data type and a setting of DFTI_DOUBLE indicates double-precision floating-point data type.

The parameter dim is a simple positive integer indicating the dimension of the transform.

For one-dimensional transforms, length is a single integer value of the parameter size having type MKL_LONG; for multi-dimensional transforms, length is supplied with the parameter sizes, which is an array of integers having type MKL_LONG.

Return Values

The function returns DFTI_NO_ERROR when completes successfully. In this case, the pointer to the created descriptor handle is stored in handle. If the function fails, it returns a value of another error class constant (for the list of constants, refer to Error Codes).

Prototype

   
MKL_LONG DftiCreateDescriptorDM(MPI_Comm,DFTI_DESCRIPTOR_DM_HANDLE*,
   enum DFTI_CONFIG_VALUE,enum DFTI_CONFIG_VALUE,MKL_LONG,...);