Interface IDMLOperatorInitializer (directml.h)

Representa um objeto especializado cuja finalidade é inicializar operadores compilados. Para criar uma instância desse objeto, chame IDMLDevice::CreateOperatorInitializer. A interface IDMLOperatorInitializer herda de IDMLDispatchable.

Um inicializador de operador é associado a um ou mais operadores compilados, que são os destinos para inicialização. Você pode registrar a inicialização do operador em uma lista de comandos usando IDMLCommandRecorder::RecordDispatch. Quando a inicialização conclui a execução na GPU, todos os operadores de destino entram no estado inicializado. Você deve inicializar todos os operadores exatamente uma vez antes que eles possam ser executados.

Herança

A interface IDMLOperatorInitializer herda da interface IDMLDispatchable.

Métodos

A interface IDMLOperatorInitializer tem esses métodos.

 
IDMLOperatorInitializer::Reset

Redefine o inicializador para lidar com a inicialização de um novo conjunto de operadores.

Comentários

Inicializadores de operador são reutilizáveis: depois que uma instância for usada para inicializar um conjunto de operadores, você poderá redefini-la com um conjunto diferente de operadores compilados como destinos.

Ao executar um inicializador, as associações esperadas são as seguintes:

  • As entradas devem ser uma associação de matriz de buffer para cada operador de destino, na ordem em que você especificou originalmente os operadores ao criar ou redefinir o inicializador. Cada associação de matriz de buffer em si deve ter um tamanho igual às entradas de seu respectivo operador. Como alternativa, você pode especificar NONE para uma associação para não associar nenhuma entrada para inicialização desse operador de destino.
  • As saídas devem ser os recursos persistentes para cada operador de destino, na ordem em que você especificou originalmente os operadores ao criar ou redefinir o inicializador.
  • Assim como acontece com qualquer objeto expedido (um inicializador de operador ou um operador compilado), o inicializador pode exigir um recurso temporário. Chame IDMLDispatchable::GetBindingProperties para determinar o tamanho necessário do recurso temporário.
  • Inicializadores de operador nunca exigem recursos persistentes. Portanto, chamar IDMLDispatchable::GetBindingProperties em um inicializador de operador sempre retorna um PersistentResourceSize de 0.

O inicializador de operador em si não precisa ser inicializado— a inicialização de GPU se aplica apenas a operadores compilados.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho directml.h

Confira também

Associação no DirectML

IDMLDispatchable