IDMLDevice::CreateOperatorInitializer 方法 (directml.h)
建立對象,這個物件可用來初始化編譯的運算符。
編譯之後,必須在 GPU 上完全初始化運算子一次,才能執行。 運算子初始化運算式會保留一或多個目標編譯運算元初始化所需的狀態。
具現化之後,即可透過 IDMLCommandRecorder::RecordDispatch在命令清單中記錄運算元初始化表達式的分派。 在 GPU 上執行完成之後,初始化表達式的所有編譯運算子都會進入初始化狀態。
運算子初始化運算式可以重複使用,以初始化不同的編譯運算符集。 如需詳細資訊,請參閱 IDMLOperatorInitializer::Reset 。
您可以建立不含目標運算子的運算子初始化表達式。 執行這類初始化表達式是無作業。 如果您想要在前面建立初始化表達式,但還不知道將用來初始化的運算符,建立沒有目標運算子的運算元初始化表達式可能會很有用。 IDMLOperatorInitializer::Reset 可用來重設目標運算符。
語法
HRESULT CreateOperatorInitializer(
UINT operatorCount,
[in, optional] IDMLCompiledOperator * const *operators,
REFIID riid,
[out] void **ppv
);
參數
operatorCount
類型: UINT
此參數會決定在 運算符 參數中傳遞之陣列中的元素數目。
[in, optional] operators
類型: IDMLCompiledOperator*
IDMLCompiledOperator 指標常數數位的選擇性指標,其中包含這個初始化運算式將鎖定的運算符集。 執行初始化表達式時,目標運算符會變成初始化。 這個陣列可以是 Null 或空白,表示初始化表達式沒有目標運算元。
riid
類型: REFIID
您想要在 ppv 中傳回之介面的全域唯一標識碼 (GUID) 參考。 這必須是 IDMLOperatorInitializer的 GUID。
[out] ppv
類型: void**
記憶體區塊的指標,接收運算元初始化表達式的指標。 這是 IDMLOperatorInitializer指標的位址,代表所建立的運算元初始化表達式。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | directml.h |
程式庫 | DirectML.lib |
Dll | DirectML.dll |