Configuration- and queue-committing member function#
This page describes the configuration- and queue-committing member function commit
of the descriptor
class template, which belongs to the oneapi::mkl::dft
namespace and is declared in oneapi/mkl/dft.hpp
(file to be included).
namespace oneapi::mkl::dft {
template <precision prec, domain dom>
class descriptor {
public:
void commit(sycl::queue &user_queue);
}
}
The usage of prepended namespace specifiers oneapi::mkl::dft
is omitted below for conciseness.
Invocation of this functions notifies that the calling object’s configuration is completed and triggers it to complete the required initialization steps (e.g., pre-computing data, exploring various factorizations, assessing suitability of various algorithms) relevant to enqueueing the DFT computations that it defines to the user-provided user_queue
. That sycl::queue
object defines the targeted computation device (among other runtime-related characteristics).
Upon successful completion, the calling object is “committed” (its configuration value associated with config_param::COMMIT_STATUS
is then config_value::COMMITTED
). descriptor
objects must be committed to be used in any compute function.
As previously noted, changing any configuration setting of a committed object effectively leaves it “uncommitted” (its configuration value associated with config_param::COMMIT_STATUS
is then config_value::UNCOMMITTED
). As a consequence, it is best to avoid any call to any set_value
member function after invoking the commit
member function.
Input parameter#
Name |
Type |
Description |
---|---|---|
|
|
Queue to which DFT computations are to be enqueued by the calling object, when used in compute functions thereafter |
Exceptions#
The configuration- and queue-committing member function may throw
a
oneapi::mkl::unimplemented
exception, e.g., if the calling object’s configuration is not supported (yet);an
std::runtime_error
exception, e.g., if the calling object’s configuration is found inconsistent.