IDMLDevice::CreateOperatorInitializer メソッド (directml.h)
コンパイルされた演算子を初期化するために使用できる オブジェクトを作成します。
コンパイル後、演算子を実行するには、GPU で 1 回だけ初期化する必要があります。 演算子初期化子は、1 つ以上のターゲット コンパイル済み演算子の初期化に必要な状態を保持します。
インスタンス化されると、 IDMLCommandRecorder::RecordDispatch を使用して、演算子初期化子のディスパッチをコマンド リストに記録できます。 GPU で実行が完了すると、初期化子のターゲットであるコンパイルされたすべての演算子が初期化された状態になります。
演算子初期化子を再利用して、コンパイルされた演算子の異なるセットを初期化できます。 詳細については、「 IDMLOperatorInitializer::Reset 」を参照してください。
演算子初期化子は、ターゲット演算子なしで作成できます。 このような初期化子の実行は操作不要です。 ターゲット演算子を使用しない演算子初期化子を作成すると、初期化子を事前に作成したいが、初期化に使用される演算子がまだわからない場合に便利な場合があります。 IDMLOperatorInitializer::Reset を使用して、対象とする演算子をリセットできます。
構文
HRESULT CreateOperatorInitializer(
UINT operatorCount,
[in, optional] IDMLCompiledOperator * const *operators,
REFIID riid,
[out] void **ppv
);
パラメーター
operatorCount
型: UINT
このパラメーターは、 operators パラメーターで渡される配列内の要素の数を決定します。
[in, optional] operators
種類: IDMLCompiledOperator*
この初期化子が対象とする演算子のセットを含む IDMLCompiledOperator ポインターの定数配列への省略可能なポインター。 初期化子の実行時に、ターゲット演算子が初期化されます。 初期化子にターゲット演算子がないことを示す、null または空の配列を指定できます。
riid
型: REFIID
ppv で返されるインターフェイスのグローバル一意識別子 (GUID) への参照。 これは、 IDMLOperatorInitializer の GUID である必要があります。
[out] ppv
型: void**
演算子初期化子へのポインターを受け取るメモリ ブロックへのポインター。 これは、作成された演算子初期化子を表す IDMLOperatorInitializer へのポインターのアドレスです。
戻り値
型: HRESULT
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | directml.h |
Library | DirectML.lib |
[DLL] | DirectML.dll |