IDMLBindingTable::BindTemporaryResource 方法 (directml.h)
系結緩衝區,以作為暫存記憶體使用。 您可以呼叫 IDMLDispatchable::GetBindingProperties 來判斷此緩衝區範圍的必要大小。
如果 IDMLDispatchable 的系結屬性指定暫存資源的大小為零,則您可以將 nullptr 提供給這個方法 (表示沒有資源系結) 。 否則,必須提供類型為 DML_BINDING_TYPE_BUFFER 的系結,其大小必須至少與IDMLDispatchable::GetBindingProperties 所傳回的必要 TemporaryResourceSize 相同。
暫存資源通常會在運算符執行期間當做臨時記憶體使用。 在執行之前,不需要定義暫存資源的內容。 例如,DirectML 不需要您在系結或執行運算符之前,先將暫存資源的內容零。
您不需要保留暫存緩衝區的內容,而且應用程式可以在 GPU 上執行運算子或初始化表達式時立即覆寫或重複使用其內容。 這與持續性資源相反,其內容必須保留,並延長操作員存留期的存留期。
要系結為暫存緩衝區的提供的緩衝區範圍,其開始位移必須對齊 DML_TEMPORARY_BUFFER_ALIGNMENT。 緩衝區基礎的堆積類型必須 D3D12_HEAP_TYPE_DEFAULT。
語法
void BindTemporaryResource(
[in, optional] const DML_BINDING_DESC *binding
);
參數
[in, optional] binding
類型: const DML_BINDING_DESC*
DML_BINDING_DESC選擇性指標 , 其中包含要系結之張量資源的描述。
傳回值
無
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | directml.h |
程式庫 | DirectML.lib |
Dll | DirectML.dll |