記述子クラス・テンプレート#
ここでは、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::SINGLE (または precision::DOUBLE) で特殊化された descriptor クラスのインスタンスは、「単精度記述子」 (または「倍精度記述子」) と呼ばれます。同様に、後者の値 domain::COMPLEX (または domain::REAL) で特殊化された descriptor クラスのインスタンスは、「複合記述子」 (または 「実記述子」) と呼ばれます。
注
一部の GPU デバイスは倍精度記述子をサポートしていません。デバイス上で倍精度記述子を使用する前に、対象デバイスが倍精度浮動小数点演算をサポートしていることを確認することを推奨します。
メンバー関数#
任意の descriptor クラスのオブジェクトについては、ユーザーは以下が可能です
コンストラクターとデストラクターを介して作成および削除します。
構成設定メンバー関数を介して構成を変更します。
構成照会メンバー関数を介して構成を構成を照会します。
特定の
sycl::queueインスタンスに定義する DFT 計算にそれらをコミットします。ワークスペース関連のメンバー関数 (GPU コミット記述子に固有の機能) を使用して、オブジェクトのワークスペース用にデバイスがアクセス可能な独自のメモリー割り当てを装備します。