Share via


IDMLBindingTable::BindTemporaryResource-Methode (directml.h)

Bindet einen Puffer, der als temporärer Arbeitsspeicher verwendet werden soll. Sie können die erforderliche Größe dieses Pufferbereichs ermitteln, indem Sie IDMLDispatchable::GetBindingProperties aufrufen.

Wenn die Bindungseigenschaften für die IDMLDispatchable die Größe 0 (null) für die temporäre 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 TemporaryResourceSize , die von IDMLDispatchable::GetBindingProperties zurückgegeben wird.

Die temporäre Ressource wird in der Regel während der Ausführung eines Operators als Arbeitsspeicher verwendet. Der Inhalt einer temporären Ressource muss vor der Ausführung nicht definiert werden. Beispielsweise erfordert DirectML nicht, dass Sie den Inhalt der temporären Ressource auf null setzen, bevor Sie einen Operator binden oder ausführen.

Sie müssen den Inhalt des temporären Puffers nicht beibehalten, und Ihre Anwendung kann ihre Inhalte überschreiben oder wiederverwenden, sobald die Ausführung eines Operators oder Initialisierers auf der GPU abgeschlossen ist. Dies steht im Gegensatz zu einer persistenten Ressource, deren Inhalt beibehalten und die Lebensdauer für die Lebensdauer des Operators verlängert werden muss.

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

Syntax

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