A newer version of this document is available. Customers should click here to go to the newest version.
Allowing destruction of input data
This page describes how to allow (or forbid) descriptor objects configured for out-of-place operations to overwrite the input data when used in compute functions. When non-native, all the relevant types and enumerations mentioned below belong to the oneapi::mkl::dft namespace and are declared in oneapi/mkl/dft.hpp (file to be included). The usage of prepended namespace specifiers oneapi::mkl::dft is omitted below for conciseness.
Description
The configuration value associated with the configuration parameter config_param::DESTROY_INPUT of a descriptor object determines whether it is allowed to overwrite the input data provided to a compute functions for out-of-place operations. The only possible values are the self-explanatory config_value::ALLOW and config_value::AVOID.
By default, descriptor objects are configured to avoid overwriting the input data when configured for out-of-place operations. Allowing an object to overwrite the input data may, in some cases,
significantly reduce the size of its required workspace;
improve the delivered performance.
In particular, allowing input data to be overwritten may be particularly relevant for multidimensional, out-of-place, real, backward DFTs.