Compartir a través de


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

Crea un objeto que se puede usar para inicializar operadores compilados.

Una vez compilado, un operador debe inicializarse exactamente una vez en la GPU para poder ejecutarse. El inicializador de operador contiene el estado necesario para la inicialización de uno o varios operadores compilados de destino.

Una vez creado una instancia, el envío del inicializador del operador se puede registrar en una lista de comandos a través de IDMLCommandRecorder::RecordDispatch. Una vez completada la ejecución en la GPU, todos los operadores compilados que son destinos del inicializador entran en el estado inicializado.

Se puede reutilizar un inicializador de operador para inicializar diferentes conjuntos de operadores compilados. Consulta IDMLOperatorInitializer::Reset para obtener más información.

Se puede crear un inicializador de operador sin operadores de destino. La ejecución de este inicializador es una operación sin operación. La creación de un inicializador de operador sin operadores de destino puede ser útil si desea crear un inicializador por adelantado, pero aún no sabe qué operadores se usarán para inicializar. IDMLOperatorInitializer::Reset se puede usar para restablecer los operadores de destino.

Sintaxis

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

Parámetros

operatorCount

Tipo: UINT

Este parámetro determina el número de elementos de la matriz pasada en el parámetro de operadores .

[in, optional] operators

Tipo: IDMLCompiledOperator*

Puntero opcional a una matriz constante de punteros IDMLCompiledOperator que contienen el conjunto de operadores de destino de este inicializador. Tras la ejecución del inicializador, los operadores de destino se inicializan. Esta matriz puede ser nula o vacía, lo que indica que el inicializador no tiene operadores de destino.

riid

Tipo: REFIID

Referencia al identificador único global (GUID) de la interfaz que desea devolver en ppv. Se espera que sea el GUID de IDMLOperatorInitializer.

[out] ppv

Tipo: void**

Puntero a un bloque de memoria que recibe un puntero al inicializador del operador. Esta es la dirección de un puntero a un IDMLOperatorInitializer, que representa el inicializador de operador creado.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado directml.h
Library DirectML.lib
Archivo DLL DirectML.dll

Consulte también

IDMLDevice