Share via


Método IDMLDevice::CreateOperatorInitializer (directml.h)

Cria um objeto que pode ser usado para inicializar operadores compilados.

Depois de compilado, um operador deve ser inicializado exatamente uma vez na GPU antes de ser executado. O inicializador de operador contém o estado necessário para inicialização de um ou mais operadores compilados de destino.

Depois de instanciado, a expedição do inicializador do operador pode ser registrada em uma lista de comandos por meio de IDMLCommandRecorder::RecordDispatch. Após a conclusão da execução na GPU, todos os operadores compilados que são destinos do inicializador entram no estado inicializado.

Um inicializador de operador pode ser reutilizado para inicializar diferentes conjuntos de operadores compilados. Consulte IDMLOperatorInitializer::Reset para obter mais informações.

Um inicializador de operador pode ser criado sem operadores de destino. Executar esse inicializador é uma operação não operada. Criar um inicializador de operador sem operadores de destino pode ser útil se você quiser criar um inicializador antecipadamente, mas ainda não sabe quais operadores ele será usado para inicializar. IDMLOperatorInitializer::Reset pode ser usado para redefinir quais operadores devem ser direcionados.

Sintaxe

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

Parâmetros

operatorCount

Tipo: UINT

Esse parâmetro determina o número de elementos na matriz passada no parâmetro operators .

[in, optional] operators

Tipo: IDMLCompiledOperator*

Um ponteiro opcional para uma matriz constante de ponteiros IDMLCompiledOperator que contêm o conjunto de operadores que esse inicializador direcionará. Após a execução do inicializador, os operadores de destino são inicializados. Essa matriz pode ser nula ou vazia, indicando que o inicializador não tem operadores de destino.

riid

Tipo: REFIID

Uma referência ao GUID (identificador global exclusivo) da interface que você deseja que seja retornado em ppv. Espera-se que esse seja o GUID de IDMLOperatorInitializer.

[out] ppv

Tipo: void**

Um ponteiro para um bloco de memória que recebe um ponteiro para o inicializador do operador. Esse é o endereço de um ponteiro para um IDMLOperatorInitializer, representando o inicializador de operador criado.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho directml.h
Biblioteca DirectML.lib
DLL DirectML.dll

Confira também

IDMLDevice