Metodo IDMLBindingTable::BindPersistentResource (directml.h)
Associa un buffer come risorsa persistente. È possibile determinare le dimensioni necessarie di questo intervallo di buffer chiamando IDMLDispatchable::GetBindingProperties.
Se le proprietà di associazione per l'operatore specificano una dimensione pari a zero per la risorsa persistente, è possibile fornire nullptr a questo metodo (che indica che non è disponibile alcuna risorsa da associare). In caso contrario, è necessario specificare un'associazione di tipo DML_BINDING_TYPE_BUFFER che sia almeno di grandi dimensioni, come richiesto PersistentResourceSize restituito da IDMLDispatchable::GetBindingProperties.
A differenza della risorsa temporanea, il contenuto e la durata della risorsa persistente devono essere persistenti finché l'operatore compilato esegue. Vale a dire, se un operatore richiede una risorsa persistente, l'applicazione deve specificarla durante l'inizializzazione e successivamente specificarla a tutte le operazioni future dell'operatore senza modificarne il contenuto.
La risorsa persistente viene in genere usata da DirectML per archiviare tabelle di ricerca o altri dati di lunga durata calcolati durante l'inizializzazione di un operatore e riutilizzati nelle esecuzioni future di tale operatore.
Poiché i dati della risorsa persistente sono opachi, una volta inizializzati non è possibile copiarlo o spostarlo in un altro buffer.
La risorsa persistente viene scritta solo durante l'inizializzazione di un operatore ed è successivamente immutabile; tutte le esecuzioni successive non devono essere scritte nella risorsa persistente.
L'intervallo di buffer fornito da associare come buffer persistente deve avere l'offset iniziale allineato a DML_PERSISTENT_BUFFER_ALIGNMENT. Il tipo dell'heap sottostante il buffer deve essere D3D12_HEAP_TYPE_DEFAULT.
Sintassi
void BindPersistentResource(
[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 |