Metodo IDMLBindingTable::BindTemporaryResource (directml.h)
Associa un buffer da usare come memoria scratch temporanea. È possibile determinare le dimensioni necessarie di questo intervallo di buffer chiamando IDMLDispatchable::GetBindingProperties.
Se le proprietà di associazione per IDMLDispatchable specificano una dimensione pari a zero per la risorsa temporanea, è possibile fornire nullptr a questo metodo (che indica che non è necessario associare alcuna risorsa). In caso contrario, è necessario specificare un'associazione di tipo DML_BINDING_TYPE_BUFFER con dimensioni pari almeno a quanto richiesto TemporaryResourceSize restituito da IDMLDispatchable::GetBindingProperties.
La risorsa temporanea viene in genere usata come memoria scratch durante l'esecuzione di un operatore. Il contenuto di una risorsa temporanea non deve essere definito prima dell'esecuzione. Ad esempio, DirectML non richiede che il contenuto della risorsa temporanea sia pari a zero prima dell'associazione o dell'esecuzione di un operatore.
Non è necessario mantenere il contenuto del buffer temporaneo e l'applicazione può sovrascrivere o riutilizzarne il contenuto non appena viene completata l'esecuzione di un operatore o di un inizializzatore nella GPU. Ciò è diverso da una risorsa persistente, il cui contenuto deve essere mantenuto e la durata estesa per la durata dell'operatore.
L'intervallo di buffer fornito da associare perché il buffer temporaneo deve avere l'offset iniziale allineato a DML_TEMPORARY_BUFFER_ALIGNMENT. Il tipo dell'heap sottostante il buffer deve essere D3D12_HEAP_TYPE_DEFAULT.
Sintassi
void BindTemporaryResource(
[in, optional] const DML_BINDING_DESC *binding
);
Parametri
[in, optional] binding
Tipo: const DML_BINDING_DESC*
Puntatore facoltativo a un DML_BINDING_DESC contenente la descrizione di una risorsa tensore da associare.
Valore restituito
nessuno
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | directml.h |
Libreria | DirectML.lib |
DLL | DirectML.dll |