descriptor<precision, domain>::commit

Performs all initialization for the actual FFT computation. This routine belongs to the oneapi::mkl::dft namespace.

Syntax

template<>
void descriptor<prec, dom>::commit(cl::sycl::queue &in)

Include Files

  • mkl_dfti_sycl.hpp

Description

This function completes initialization of a previously created descriptor, which is required before the descriptor can be used for FFT computations. It throws an std::runtime_exception() in the case that it fails. The cl::sycl::queue may be associated with a host, CPU, or GPU device. Typically, committing the descriptor performs all initialization that is required for the actual FFT computation on the given device. The initialization done by the function may involve exploring different factorizations of the input length to find the optimal computation method.

Note

Calls to the descriptor<precision, domain>::set_value function to change configuration parameters of a descriptor need to happen before descriptor<precision, domain>::commit. Typically, a committal function call is immediately followed by a computation function call (see FFT Compute Functions).

The function returns mkl::dft::ErrCode::NO_ERROR when it completes successfully. See Status Checking Functions for more information on the returned status.

Input Parameters

Name

Type

Description

deviceQueue

cl::sycl::queue

Sycl queue for a host, CPU, or GPU device.

Output Parameters

Name

Type

Description

status

mkl::dft::ErrCode

Function completion status.

Return Values

The function returns a value indicating whether the operation was successful or not, and why.

Return Value

Description

mkl::dft::ErrCode::NO_ERROR

The operation was successful.

mkl::dft::ErrCode::BAD_DESCRIPTOR

DFTI handle provided is invalid.

mkl::dft::ErrCode::INCONSISTENT_CONFIGURATION/ mkl::dft::ErrCode::INVALID_CONFIGURATION

An input value provided is invalid.

mkl::dft::ErrCode::UNIMPLEMENTED

Functionality requested is not implemented.

mkl::dft::ErrCode::MKL_INTERNAL_ERROR

Internal MKL error.