共用方式為


(directml.h) IDMLCompiledOperator 介面

表示適合在 GPU 上執行的已編譯且有效率的運算符形式。 若要建立此物件,請呼叫 IDMLDevice::CompileOperatorIDMLCompiledOperator 介面繼承自IDMLDispatchable

不同於 IDMLOperator,編譯的運算符會「製作」,而且可以直接由 GPU 執行。 編譯運算符之後,您必須先將它初始化一次,才能執行它。 初始化運算子多次是錯誤。 運算子初始化運算式是用來初始化已編譯的運算符。 您可以使用 IDMLCommandRecorder::RecordDispatch 來記錄運算元初始化表達式的分派,在 GPU 上執行時,將會初始化一或多個運算符。

除了輸入和輸出張量之外,運算符可能需要額外的記憶體來執行。 您的應用程式必須以暫存和永續性資源的形式提供這個額外的記憶體。

暫存資源是臨時記憶體,只在運算符執行期間使用,而且不需要在 GPU 上呼叫 IDMLCommandRecorder::RecordDispatch 之後保存。 這表示您的應用程式可能會在已編譯運算子的分派之間釋放或覆寫 中的暫存資源。 相反地,持續性資源必須至少存回,直到最後一次在 GPU 上執行操作員為止。 此外,持續性資源的內容不透明,而且必須在運算子的執行之間保留。

暫存和持續性資源的大小會因運算符而異。 呼叫 IDMLDispatchable::GetBindingProperties ,以位元組為單位查詢這個已編譯運算符的持續性和暫存資源所需的大小。 如需系結暫存和持續性資源的詳細資訊,請參閱 IDMLBindingTable::BindTemporaryResourceIDMLBindingTable::BindPersistentResource

此介面上的所有方法都是安全線程。

繼承

IDMLCompiledOperator 介面繼承自IDMLDispatchable介面。

規格需求

需求
目標平台 Windows
標頭 directml.h

另請參閱

在 DirectML 中繫結

IDMLDispatchable