Share via


IDMLBindingTable::BindPersistentResource-Methode (directml.h)

Bindet einen Puffer als persistente Ressource. Sie können die erforderliche Größe dieses Pufferbereichs ermitteln, indem Sie IDMLDispatchable::GetBindingProperties aufrufen.

Wenn die Bindungseigenschaften für den Operator eine Größe von null für die persistente Ressource angeben, können Sie nullptr für diese Methode angeben (was angibt, dass keine Ressource gebunden werden soll). Andernfalls muss eine Bindung vom Typ DML_BINDING_TYPE_BUFFER bereitgestellt werden, die mindestens so groß ist wie die erforderliche persistentResourceSize , die von IDMLDispatchable::GetBindingProperties zurückgegeben wird.

Im Gegensatz zur temporären Ressource müssen der Inhalt und die Lebensdauer der persistenten Ressource so lange beibehalten werden, wie der kompilierte Operator dies tut. Das heißt, wenn ein Operator eine persistente Ressource benötigt, muss Ihre Anwendung sie während der Initialisierung bereitstellen und sie anschließend auch für alle zukünftigen Ausführungen des Operators bereitstellen, ohne den Inhalt zu ändern.

Die persistente Ressource wird in der Regel von DirectML verwendet, um Nachschlagetabellen oder andere langlebige Daten zu speichern, die während der Initialisierung eines Operators berechnet und bei zukünftigen Ausführungen dieses Operators wiederverwendet werden.

Da die Daten der persistenten Ressource undurchsichtig sind, können sie nach der Initialisierung nicht mehr kopiert oder in einen anderen Puffer verschoben werden.

Die persistente Ressource wird nur während der Initialisierung eines Operators in geschrieben und ist danach unveränderlich. Bei allen nachfolgenden Ausführungen wird garantiert nicht in die persistente Ressource geschrieben.

Für den angegebenen Pufferbereich, der als persistenter Puffer gebunden werden soll, muss der Startoffset an DML_PERSISTENT_BUFFER_ALIGNMENT ausgerichtet sein. Der Typ des Heaps, der dem Puffer zugrunde liegt, muss D3D12_HEAP_TYPE_DEFAULT sein.

Syntax

void BindPersistentResource(
  [in, optional] const DML_BINDING_DESC *binding
);

Parameter

[in, optional] binding

Typ: const DML_BINDING_DESC*

Ein optionaler Zeiger auf eine DML_BINDING_DESC , die die Beschreibung einer zu bindenden Tensorressource enthält.

Rückgabewert

Keine

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile directml.h
Bibliothek DirectML.lib
DLL DirectML.dll

Weitere Informationen

Bindung in DirectML

IDMLBindingTable