Interfaz IDMLOperatorInitializer (directml.h)
Representa un objeto especializado cuyo propósito es inicializar operadores compilados. Para crear una instancia de este objeto, llame a IDMLDevice::CreateOperatorInitializer. La interfaz IDMLOperatorInitializer hereda de IDMLDispatchable.
Un inicializador de operador está asociado a uno o varios operadores compilados, que son los destinos para la inicialización. Puede registrar la inicialización del operador en una lista de comandos mediante IDMLCommandRecorder::RecordDispatch. Cuando la inicialización completa la ejecución en la GPU, todos los operadores de destino entran en el estado inicializado. Debe inicializar todos los operadores exactamente una vez antes de que se puedan ejecutar.
Herencia
La interfaz IDMLOperatorInitializer hereda de la interfaz IDMLDispatchable.
Métodos
La interfaz IDMLOperatorInitializer tiene estos métodos.
IDMLOperatorInitializer::Reset Restablece el inicializador para controlar la inicialización de un nuevo conjunto de operadores. |
Comentarios
Los inicializadores de operador son reutilizables: una vez que se ha usado una instancia para inicializar un conjunto de operadores, puede restablecerlo con un conjunto diferente de operadores compilados como destinos.
Al ejecutar un inicializador, los enlaces esperados son los siguientes:
- Las entradas deben ser un enlace de matriz de búfer para cada operador de destino, en el orden en que especificó originalmente los operadores al crear o restablecer el inicializador. Cada enlace de matriz de búfer debe tener un tamaño igual a las entradas de su operador respectivo. Como alternativa, puede especificar NONE para que un enlace no enlace ninguna entrada para la inicialización de ese operador de destino.
- Las salidas deben ser los recursos persistentes para cada operador de destino, en el orden en que especificó originalmente los operadores al crear o restablecer el inicializador.
- Al igual que con cualquier objeto distribuidor (un inicializador de operador o un operador compilado), el inicializador puede requerir un recurso temporal. Llame a IDMLDispatchable::GetBindingProperties para determinar el tamaño necesario del recurso temporal.
- Los inicializadores de operador nunca requieren recursos persistentes. Por lo tanto, llamar a IDMLDispatchable::GetBindingProperties en un inicializador de operador siempre devuelve un PersistentResourceSize de 0.
No es necesario inicializar el inicializador del operador, ya que la inicialización de GPU solo se aplica a los operadores compilados.
Requisitos
Plataforma de destino | Windows |
Encabezado | directml.h |