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


Интерфейс IDMLCompiledOperator (directml.h)

Представляет скомпилированную эффективную форму оператора, подходящую для выполнения на GPU. Чтобы создать этот объект, вызовите IDMLDevice::CompileOperator. Интерфейс IDMLCompiledOperator наследуется от IDMLDispatchable.

В отличие от IDMLOperator, скомпилированные операторы "запекаются" и могут выполняться непосредственно GPU. После компиляции оператора необходимо инициализировать его ровно один раз, прежде чем его можно будет выполнить. Инициализация оператора несколько раз является ошибкой. Инициализаторы операторов используются для инициализации скомпилированных операторов. IdMLCommandRecorder::RecordDispatch можно использовать для записи отправки инициализатора оператора, который при выполнении на GPU инициализирует один или несколько операторов.

Помимо входных и выходных тензоров, операторам может потребоваться дополнительная память для выполнения. Это дополнительная память должна быть предоставлена приложением в виде временных и постоянных ресурсов.

Временный ресурс — это временная память, которая используется только во время выполнения оператора и не должна сохраняться после завершения вызова IDMLCommandRecorder::RecordDispatch в GPU. Это означает, что приложение может освободить или перезаписать временный ресурс между отправками скомпилированного оператора. В отличие от этого, постоянный ресурс должен существовать по крайней мере до завершения последнего выполнения оператора на GPU. Кроме того, содержимое постоянного ресурса является непрозрачным и должно сохраняться между выполнением оператора.

Размер временных и постоянных ресурсов зависит от оператора. Вызовите IDMLDispatchable::GetBindingProperties , чтобы запросить требуемый размер постоянных и временных ресурсов для этого скомпилированного оператора в байтах. Дополнительные сведения о привязке временных и постоянных ресурсов см. в разделах IDMLBindingTable::BindTemporaryResource и IDMLBindingTable::BindPersistentResource .

Все методы в этом интерфейсе являются потокобезопасны.

Наследование

Интерфейс IDMLCompiledOperator наследуется от интерфейса IDMLDispatchable.

Требования

Требование Значение
Целевая платформа Windows
Header directml.h

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

Привязывание в DirectML

IDMLDispatchable