Configuration- and queue-committing member function

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#

Input parameter for the commit member function.#

Name

Type

Description

user_queue

sycl::queue

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.