Metodo IDMLDevice::CreateOperatorInitializer (directml.h)

Crea un oggetto che può essere utilizzato per inizializzare gli operatori compilati.

Dopo la compilazione, un operatore deve essere inizializzato esattamente una volta sulla GPU prima di poterlo eseguire. L'inizializzatore dell'operatore contiene lo stato necessario per l'inizializzazione di uno o più operatori compilati di destinazione.

Dopo aver creato un'istanza, l'invio dell'inizializzatore dell'operatore può essere registrato in un elenco di comandi tramite IDMLCommandRecorder::RecordDispatch. Al termine dell'esecuzione nella GPU, tutti gli operatori compilati che sono destinazioni dell'inizializzatore immettono lo stato inizializzato.

Un inizializzatore di operatore può essere riutilizzato per inizializzare diversi set di operatori compilati. Per altre informazioni, vedi IDMLOperatorInitializer::Reset .

È possibile creare un inizializzatore di operatore senza operatori di destinazione. L'esecuzione di tale inizializzatore è un'operazione no-op. La creazione di un inizializzatore di operatore senza operatori di destinazione può essere utile se si vuole creare un inizializzatore in anticipo, ma non si conoscono ancora gli operatori che verranno usati per inizializzare. IDMLOperatorInitializer::Reset può essere usato per reimpostare gli operatori di destinazione.

Sintassi

HRESULT CreateOperatorInitializer(
                 UINT                 operatorCount,
  [in, optional] IDMLCompiledOperator * const *operators,
                 REFIID               riid,
  [out]          void                 **ppv
);

Parametri

operatorCount

Tipo: UINT

Questo parametro determina il numero di elementi nella matrice passata nel parametro operators .

[in, optional] operators

Tipo: IDMLCompiledOperator*

Puntatore facoltativo a una matrice costante di puntatori IDMLCompiledOperator contenenti il set di operatori di destinazione di questo inizializzatore. Dopo l'esecuzione dell'inizializzatore, gli operatori di destinazione vengono inizializzati. Questa matrice può essere null o vuota, a indicare che l'inizializzatore non dispone di operatori di destinazione.

riid

Tipo: REFIID

Riferimento all'identificatore univoco globale (GUID) dell'interfaccia da restituire in ppv. Si prevede che questo sia il GUID di IDMLOperatorInitializer.

[out] ppv

Tipo: void**

Puntatore a un blocco di memoria che riceve un puntatore all'inizializzatore dell'operatore. Si tratta dell'indirizzo di un puntatore a un IDMLOperatorInitializer, che rappresenta l'inizializzatore dell'operatore creato.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione directml.h
Libreria DirectML.lib
DLL DirectML.dll

Vedi anche

IDMLDevice