IDMLOperatorInitializer インターフェイス (directml.h)
コンパイルされた演算子を初期化することを目的とする特殊なオブジェクトを表します。 このオブジェクトのインスタンスを作成するには、 IDMLDevice::CreateOperatorInitializer を呼び出します。 IDMLOperatorInitializer インターフェイスは、IDMLDispatchable から継承されます。
演算子初期化子は、初期化のターゲットである 1 つ以上のコンパイル済み演算子に関連付けられます。 IDMLCommandRecorder::RecordDispatch を使用して、コマンド リストに演算子の初期化を記録できます。 初期化が GPU での実行を完了すると、すべてのターゲット演算子が初期化された状態になります。 すべての演算子を実行する前に、すべての演算子を 1 回だけ初期化する必要があります。
継承
IDMLOperatorInitializer インターフェイスは、IDMLDispatchable インターフェイスから継承されます。
メソッド
IDMLOperatorInitializer インターフェイスには、これらのメソッドがあります。
IDMLOperatorInitializer::Reset 新しい演算子セットの初期化を処理するように初期化子をリセットします。 |
注釈
演算子初期化子は再利用可能です。インスタンスを使用して演算子のセットを初期化すると、別のコンパイル済み演算子セットをターゲットとしてリセットできます。
初期化子を実行する場合、想定されるバインディングは次のとおりです。
- 初期化子の作成時またはリセット時に最初に演算子を指定した順序で、入力はターゲット演算子ごとに 1 つのバッファー配列バインドである必要があります。 各バッファー配列バインド自体は、それぞれの演算子の入力と同じサイズにする必要があります。 または、バインディングに NONE を指定して、そのターゲット演算子の初期化用に入力をバインドしない場合もあります。
- 初期化子の作成時またはリセット時に最初に演算子を指定した順序で、出力は各ターゲット 演算子の永続的なリソースである必要があります。
- ディスパッチ可能なオブジェクト (演算子初期化子、またはコンパイルされた演算子) と同様に、初期化子には一時的なリソースが必要な場合があります。 IDMLDispatchable::GetBindingProperties を呼び出して、一時リソースの要求サイズを決定します。
- 演算子初期化子では、永続的なリソースは必要ありません。 したがって、演算子初期化子で IDMLDispatchable::GetBindingProperties を 呼び出すと、常に 0 の PersistentResourceSize が返されます。
演算子初期化子自体を初期化する必要はありません。GPU の初期化は、コンパイルされた演算子にのみ適用されます。
要件
対象プラットフォーム | Windows |
ヘッダー | directml.h |