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


Перечисление DML_EXECUTION_FLAGS (directml.h)

Предоставляет параметры DirectML для управления выполнением операторов. Эти флаги могут быть побитовой ИЛИ, чтобы указать несколько флагов одновременно.

Синтаксис

typedef enum DML_EXECUTION_FLAGS {
  DML_EXECUTION_FLAG_NONE = 0,
  DML_EXECUTION_FLAG_ALLOW_HALF_PRECISION_COMPUTATION = 0x1,
  DML_EXECUTION_FLAG_DISABLE_META_COMMANDS = 0x2,
  DML_EXECUTION_FLAG_DESCRIPTORS_VOLATILE = 0x4
} ;

Константы

 
DML_EXECUTION_FLAG_NONE
Значение: 0
Флаги выполнения не указаны.
DML_EXECUTION_FLAG_ALLOW_HALF_PRECISION_COMPUTATION
Значение: 0x1
Позволяет DirectML выполнять вычисления с плавающей запятой половинной точности (FP16), если поддерживается аппаратным устройством.
DML_EXECUTION_FLAG_DISABLE_META_COMMANDS
Значение: 0x2
Принудительное выполнение оператора DirectML с помощью DirectCompute вместо метакоманд. DirectML использует метакоманды по умолчанию, если они доступны.
DML_EXECUTION_FLAG_DESCRIPTORS_VOLATILE
Значение: 0x4
Разрешает изменения привязок после записи выполнения оператора в список команд, но до отправки в очередь команд. По умолчанию без этого флага необходимо задать все привязки в таблице привязки перед записью оператора в список команд.

Этот флаг позволяет выполнять позднее связывание, т. е. задавать (или изменять) привязки для операторов, которые вы уже записали в список команд. Однако это может привести к снижения производительности на некотором оборудовании, так как это запрещает драйверам продвигать доступ к статическим дескрипторам до доступа к корневому дескрипторов.

Дополнительные сведения см. в разделе DESCRIPTORS_VOLATILE.

Требования

   
Верхняя часть directml.h

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

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