Interfaccia IDMLOperatorInitializer (directml.h)
Rappresenta un oggetto specializzato il cui scopo è inizializzare gli operatori compilati. Per creare un'istanza di questo oggetto, chiamare IDMLDevice::CreateOperatorInitializer. L'interfaccia IDMLOperatorInitializer eredita da IDMLDispatchable.
Un inizializzatore operatore è associato a uno o più operatori compilati, che sono le destinazioni per l'inizializzazione. È possibile registrare l'inizializzazione dell'operatore in un elenco di comandi usando IDMLCommandRecorder::RecordDispatch. Al termine dell'inizializzazione nella GPU, tutti gli operatori di destinazione immettono lo stato inizializzato. È necessario inizializzare tutti gli operatori esattamente una volta prima che possano essere eseguiti.
Ereditarietà
L'interfaccia IDMLOperatorInitializer eredita dall'interfaccia IDMLDispatchable.
Metodi
L'interfaccia IDMLOperatorInitializer include questi metodi.
IDMLOperatorInitializer::Reset Reimposta l'inizializzatore per gestire l'inizializzazione di un nuovo set di operatori. |
Commenti
Gli inizializzatori degli operatori sono riutilizzabili: una volta usata un'istanza per inizializzare un set di operatori, è possibile reimpostarla con un set diverso di operatori compilati come destinazioni.
Quando si esegue un inizializzatore, le associazioni previste sono le seguenti:
- Gli input devono essere un'associazione di matrice buffer per ogni operatore di destinazione, nell'ordine originariamente specificato dagli operatori durante la creazione o la reimpostazione dell'inizializzatore. Ogni associazione di matrice buffer deve avere una dimensione uguale agli input del rispettivo operatore. In alternativa, è possibile specificare NONE per un'associazione per l'associazione senza input per l'inizializzazione dell'operatore di destinazione.
- Gli output devono essere le risorse persistenti per ogni operatore di destinazione, nell'ordine originariamente specificato dagli operatori durante la creazione o la reimpostazione dell'inizializzatore.
- Come per qualsiasi oggetto dispatchable (inizializzatore operatore o un operatore compilato), l'inizializzatore può richiedere una risorsa temporanea. Chiamare IDMLDispatchable::GetBindingProperties per determinare le dimensioni necessarie della risorsa temporanea.
- Gli inizializzatori degli operatori non richiedono mai risorse persistenti. Pertanto, chiamando IDMLDispatchable::GetBindingProperties in un inizializzatore operatore restituisce sempre un valore PersistentResourceSize pari a 0.
L'inizializzatore dell'operatore stesso non deve essere inizializzato: l'inizializzazione della GPU si applica solo agli operatori compilati.
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | directml.h |