descriptor<precision, domain>

Creates a descriptor for the templated precision and forward domain with configuration values. This routine belongs to the oneapi::mkl::dft namespace.

Description

This constructor initializes members to default values and throws an std::runtime_exception in the case that it fails. Note that the precision and domain are determined via templating. This function allocates memory for the descriptor data structure and instantiates it with all the default configuration settings for the precision, forward domain, and dimensions of the transform.

This function does not perform any significant computational work such as computation of twiddle factors. The function descriptor::commit does this work after the function descriptor::set_value has set values of all necessary parameters.

The interface supports a single MKL_LONG input for 1-D transforms, and an std::vector for N-D transforms.

API

Syntax

namespace oneapi::mkl::dft{
  descriptor<PRECISION, DOMAIN> desc (dimension)
}
namespace oneapi::mkl::dft{
  descriptor<PRECISION, DOMAIN> desc ({dim1, dim2, ...})
}

Include Files

  • oneapi/mkl/dfti.hpp

Template Parameters

Name

Type

Description

PRECISION

mkl::dft::Precision

mkl::dft::Precision::SINGLE or mkl::dft::Precision::DOUBLE are supported precisions. Double precision has limited GPU support and full CPU and Host support.

DOMAIN

mkl::dft::Domain

mkl::dft::Domain::REAL or mkl::dft::Domain::COMPLEX are supported forward domains.

Input Parameters: 1-Dimensional

Name

Type

Description

dimension

MKL_LONG

Dimension of the transform 1-D transform.

Input Parameters: N-Dimensional

Name

Type

Description

dimensions

std::vector<MKL_LONG>

Dimensions of the transform.