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.
Note
By definition, the configuration value associated with the configuration parameter config_param::DESTROY_INPUT
is relevant for descriptor
objects configured for out-of-place operations, only. It is ignored by descriptor
objects configured for in-place operations.