Метод 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 |