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 |