共用方式為


IDMLBindingTable::BindPersistentResource 方法 (directml.h)

將緩衝區系結為持續性資源。 您可以呼叫 IDMLDispatchable::GetBindingProperties 來判斷此緩衝區範圍的必要大小。

如果運算符的系結屬性指定永續性資源的大小為零,則您可以將 nullptr 提供給這個方法 (,這表示沒有資源要系結) 。 否則,必須提供類型為 DML_BINDING_TYPE_BUFFER 的系結,其大小至少與IDMLDispatchable::GetBindingProperties 傳回的必要PersistentResourceSize相同。

不同於暫存資源,持續性資源的內容和存留期必須保存,只要編譯的運算符。 也就是說,如果操作員需要永續性資源,則您的應用程式必須在初始化期間提供它,並後續將它提供給運算符的所有未來執行,而不需修改其內容。

持續性資源通常是由 DirectML 用來儲存查詢數據表或其他長期數據,這些數據是在運算元初始化期間計算,並在該運算子的未來執行時重複使用。

因為持續性資源的數據不透明,一旦初始化,就無法複製或移至另一個緩衝區。

永續性資源只會在運算元初始化期間寫入,且之後是固定的;所有後續的執行都保證不會寫入永續性資源。

要系結為持續性緩衝區的提供的緩衝區範圍必須使其開始位移對齊 DML_PERSISTENT_BUFFER_ALIGNMENT。 緩衝區基礎的堆積類型必須 D3D12_HEAP_TYPE_DEFAULT

語法

void BindPersistentResource(
  [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

另請參閱

在 DirectML 中繫結

IDMLBindingTable