記述子クラス・テンプレート

記述子クラス・テンプレート#

ここでは、oneapi::mkl::dft 名前空間に属し、oneapi/mkl/dft.hpp (インクルードするファイル) で宣言されている descriptor クラス・テンプレートについて説明します。

namespace oneapi::mkl::dft { 
  template <precision prec, domain dom> 
  class descriptor; 
}

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

oneMKL の DPC++ インターフェイスのユーザーは、このクラス・テンプレートの特殊化のインスタンスを使用して、必要な DFT 計算を指定し、完全に構成する必要があります。(特殊化された) descriptor クラスの正常にコミットされたオブジェクトは、DFT 固有の計算関数に必要な引数です。

テンプレート・パラメーター#

descriptor クラス・テンプレートは、次の順序で 2 つの非タイプ・テンプレート・パラメーターによってパラメーター化されます。

  • インスタンスによって考慮される浮動小数点形式を決定する、タイプ precision の値。

  • インスタンスによって考慮されるフォワードドメインのタイプを決定する、タイプ domain の値。

前者の場合、値 precision::SINGLE (または precision::DOUBLE) で特殊化された descriptor クラスのインスタンスは、「単精度記述子」 (または「倍精度記述子」) と呼ばれます。同様に、後者の値 domain::COMPLEX (または domain::REAL) で特殊化された descriptor クラスのインスタンスは、「複合記述子」 (または 「実記述子」) と呼ばれます。

一部の GPU デバイスは倍精度記述子をサポートしていません。デバイス上で倍精度記述子を使用する前に、対象デバイスが倍精度浮動小数点演算をサポートしていることを確認することを推奨します。

メンバー関数#

任意の descriptor クラスのオブジェクトについては、ユーザーは以下が可能です