Поделиться через


Метод IDMLDevice::CreateOperatorInitializer (directml.h)

Создает объект , который можно использовать для инициализации скомпилированных операторов.

После компиляции оператор должен быть инициализирован в GPU ровно один раз, прежде чем его можно будет выполнить. Инициализатор операторов содержит состояние, необходимое для инициализации одного или нескольких целевых скомпилированных операторов.

После создания экземпляра можно записать отправку инициализатора оператора в список команд с помощью IDMLCommandRecorder::RecordDispatch. После завершения выполнения в GPU все скомпилированные операторы, которые являются целевыми объектами инициализатора, переходят в инициализированное состояние.

Инициализатор операторов можно повторно использовать для инициализации различных наборов скомпилированных операторов. Дополнительные сведения см. в разделе IDMLOperatorInitializer::Reset .

Инициализатор операторов можно создать без целевых операторов. Выполнение такого инициализатора не выполняется. Создание инициализатора операторов без целевых операторов может быть полезно, если вы хотите создать инициализатор предварительно, но пока не знаете, какие операторы будут использоваться для инициализации. IDMLOperatorInitializer::Reset можно использовать для сброса целевых операторов.

Синтаксис

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

Параметры

operatorCount

Тип: UINT

Этот параметр определяет количество элементов в массиве, переданном в параметре operators .

[in, optional] operators

Тип: IDMLCompiledOperator*

Необязательный указатель на постоянный массив указателей IDMLCompiledOperator , содержащий набор операторов, предназначенных для этого инициализатора. После выполнения инициализатора целевые операторы инициализируются. Этот массив может быть пустым или пустым, что означает, что инициализатор не имеет целевых операторов.

riid

Тип: REFIID

Ссылка на глобальный уникальный идентификатор (GUID) интерфейса, который вы хотите вернуть в ppv. Ожидается, что это будет GUID IDMLOperatorInitializer.

[out] ppv

Тип: void**

Указатель на блок памяти, получающий указатель на инициализатор оператора. Это адрес указателя на IDMLOperatorInitializer, представляющий созданный инициализатор оператора.

Возвращаемое значение

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Требования

Требование Значение
Целевая платформа Windows
Header directml.h
Библиотека DirectML.lib
DLL DirectML.dll

См. также раздел

IDMLDevice