構成とキューをコミットするメンバー関数

構成とキューをコミットするメンバー関数#

ここでは、oneapi::mkl::dft 名前空間に属し、oneapi/mkl/dft.hpp (インクルードするファイル) で宣言されている descriptor クラス・テンプレートの構成およびキューをコミットするメンバー関数のコミットについて説明します。

namespace oneapi::mkl::dft { 
  template <precision prec, domain dom> 
  class descriptor { 
  public: 
    void commit(sycl::queue &user_queue); 
  } 
}

簡潔にするため、先頭に付加された名前空間指定子 oneapi::mkl::dft は以下では省略されています。

この関数の呼び出しは、呼び出し元オブジェクトの構成が完了したことを通知し、ユーザー指定の user_queue に定義した DFT 計算をキューに投入するのに必要な初期化手順 (データの事前計算、さまざまな因数分解の調査、さまざまなアルゴリズムの適合性の評価など) を完了するようにトリガーします。sycl::queue オブジェクトは、対象となる計算デバイス (およびその他のランタイム関連の特性) を定義します。

正常に完了すると、呼び出し元のオブジェクトは「コミット」されます (config_param::COMMIT_STATUS に関連付けられた構成値は config_value::COMMITTED になります)。descriptor オブジェクトは、あらゆる計算関数で使用するためにコミットされる必要があります

前述のように、コミットされたオブジェクトの構成設定を変更すると、実質的にオブジェクトは「コミットされていない」状態になります (config_param::COMMIT_STATUS に関連付けられた構成値は config_value::UNCOMMITTED になります)。結果として、commit メンバー関数を呼び出した後は、set_value メンバー関数の呼び出しを避けるべきです。

入力パラメーター#

commit メンバー関数の入力パラメーター#

名前

タイプ

説明

user_queue

sycl::queue

呼び出しオブジェクトによって DFT 計算がキューに追加され、その後の計算関数で使用されます。

例外#

構成とキューのコミットメンバー関数は以下です:

  • oneapi::mkl::unimplemented 例外 (呼び出し元オブジェクトの構成が (まだ) サポートされていない場合など);

  • std::runtime_error 例外 (呼び出し元オブジェクトの構成に矛盾が見つかった場合など)。