Sets one configuration parameter with the specified configuration value. This routine belongs to the mkl::dft namespace.
void descriptor<prec,dom>::set_value(config_param param , ...) ;
This function sets one configuration parameter with the specified configuration value and throws an std::runtime_exception in the case that it fails. Each configuration parameter is a named constant, and the configuration value must have the corresponding type, which can be a named constant or a native type. For available configuration parameters and the corresponding configuration values, see Config Params.
An important addition to the configuration options for DPC++ FFT interface is mkl::dft::config_param::FWD_DISTANCE, mkl::dft::config_param::BWD_DISTANCE. The FWD_DISTANCE describes the the number of elements between different batched FFTs for forward domain while BWD_DISTANCE describes the number of elements between different batched FFTs for backward domain. It is required for all R2C or C2R transforms to use FWD_DISTANCE and BWD_DISTANCE instead of INPUT_STRIDE and OUTPUT_STRIDE, respectively.
The set_value function cannot be used to change configuration parameters mkl::dft::config_param::FORWARD_DOMAIN, mkl::dft:: config_param::PRECISION, DFTI_DIMENSION since these are a part of the template. Likewise, mkl::dft::config_param::LENGTHS is set with the constructor.
All calls to set_value() must be done before calls to commit(). This is because the handle may have been moved to an offloaded device after commit().
Function calls needed to configure an FFT descriptor for a particular call to an FFT computation function are summarized in Configuring and Computing an FFT in C/C++.
Name |
Type |
Description |
---|---|---|
param |
mkl::dft::config_param |
Configuration parameter. |
value |
Depends on the configuration parameter |
Configuration value. |
Name |
Type |
Description |
---|---|---|
status |
mkl::dft::ErrCode |
Function completion status. |
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. |