Visible to Intel only — GUID: GUID-D4DA93E0-FE57-462C-91D7-5968F3D49F8A
Visible to Intel only — GUID: GUID-D4DA93E0-FE57-462C-91D7-5968F3D49F8A
Configuration Settings
Each of the configuration parameters is identified by a named constant in the MKL_DFTI module. These named constants have the enumeration type DFTI_CONFIG_PARAM and are declared in the mkl_dfti.h header file.
Though exposed in that header file, the configuration parameters DFTI_FWD_DISTANCE and DFTI_BWD_DISTANCE are specific to the DPC++ DFT routines (see the Data Parallel C++ Developer Reference): their use in another context is neither supported nor currently enabled. All other Intel® oneAPI Math Kernel Library FFT configuration parameters are readable. Some of them are read-only, while others can be set using the DftiCreateDescriptor or DftiSetValue function.
Values of the configuration parameters fall into the following groups:
- Values that have native data types. For example, the number of simultaneous transforms requested has an integer value, while the scale factor for a forward transform is a floating-point number.
- Values that are discrete in nature and are provided in the MKL_DFTI module as named constants. For example, the domain of the forward transform requires values to be named constants. The named constants for configuration values have the enumeration type DFTI_CONFIG_VALUE.
The Table "Configuration Parameters" summarizes the information on configuration parameters, along with their types and values. For more details of each configuration parameter, see the subsection describing this parameter.
Configuration Parameter |
Type/Value |
Comments |
---|---|---|
Most common configuration parameters, no default, must be set explicitly by DftiCreateDescriptor |
||
Named constant DFTI_SINGLE or DFTI_DOUBLE |
Precision of the computation. |
|
Named constant DFTI_COMPLEX or DFTI_REAL | Type of the transform. |
|
Integer scalar |
Dimension of the transform. |
|
Integer scalar/array |
Lengths of each dimension. |
|
Common configuration parameters, settable by DftiSetValue |
||
Named constant DFTI_INPLACE or DFTI_NOT_INPLACE |
Defines whether the result overwrites the input data. Default value: DFTI_INPLACE. |
|
Floating-point scalar |
Scale factor for the forward transform. Default value: 1.0. Precision of the value should be the same as defined by DFTI_PRECISION. |
|
Floating-point scalar |
Scale factor for the backward transform. Default value: 1.0. Precision of the value should be the same as defined by DFTI_PRECISION. |
|
Integer scalar |
This configuration parameter is no longer used and kept for compatibility with previous versions of Intel® oneAPI Math Kernel Library. |
|
Integer scalar |
Limits the number of threads for the DftiComputeForward and DftiComputeBackward. Default value: 0. |
|
DFTI_DESCRIPTOR_NAME |
Character string |
Assigns a name to a descriptor. Assumed length of the string is DFTI_MAX_NAME_LENGTH. Default value: empty string. |
Data layout configuration parameters for single and multiple transforms. Settable by DftiSetValue |
||
Integer array |
Defines the input data layout.
NOTE:
The default strides are set during creation of the descriptor based on the desired dimension and lengths. For more details, see DFTI_INPUT_STRIDES, DFTI_OUTPUT_STRIDES.
|
|
Integer array |
Defines the output data layout.
NOTE:
The default strides are set during creation of the descriptor based on the desired dimension and lengths. For more details, see DFTI_INPUT_STRIDES, DFTI_OUTPUT_STRIDES.
|
|
Integer scalar |
Number of transforms. Default value: 1. |
|
Integer scalar |
Defines the distance between input data sets for multiple transforms. Default value: 0. |
|
Integer scalar |
Defines the distance between output data sets for multiple transforms. Default value: 0. |
|
Named constant DFTI_COMPLEX_COMPLEX or DFTI_REAL_REAL |
Defines whether the real and imaginary parts of data for a complex transform are interleaved in one array or split in two arrays. Default value: DFTI_COMPLEX_COMPLEX. |
|
Named constant DFTI_REAL_REAL |
Defines how real data for a real transform is stored. Only the DFTI_REAL_REAL value is supported. |
|
Named constant DFTI_COMPLEX_COMPLEX or DFTI_COMPLEX_REAL |
Defines whether the complex data in the backward domain of a real transform is stored as complex elements or as real elements. For the default value, see the detailed description. |
|
Named constant DFTI_CCE_FORMAT, DFTI_CCS_FORMAT, DFTI_PACK_FORMAT, or DFTI_PERM_FORMAT |
Defines the layout of real elements in the backward domain of a one-dimensional or two-dimensional real transform. |
|
Advanced configuration parameters, settable by DftiSetValue |
||
Named constant DFTI_ALLOW or DFTI_AVOID |
Defines whether the library should prefer algorithms using additional memory. Default value: DFTI_ALLOW. |
|
Named constant DFTI_ORDERED or DFTI_BACKWARD_SCRAMBLED |
Defines whether the result of a complex transform is ordered or permuted. Default value: DFTI_ORDERED. |
|
Named constant DFTI_ALLOW or DFTI_AVOID |
Defines whether the input data may be overwritten for out-of-place transforms. Default value: DFTI_AVOID. |
|
Read-Only configuration parameters | ||
Named constant DFTI_UNCOMMITTED or DFTI_COMMITTED |
Readiness of the descriptor for computation. |
|
DFTI_VERSION |
String |
Version of Intel® oneAPI Math Kernel Library. Assumed length of the string is DFTI_VERSION_LENGTH. |