Condividi tramite


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

Vedi anche

Binding in DirectML

IDMLDispatchable