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


Метод IDMLBindingTable::BindTemporaryResource (directml.h)

Привязывает буфер для использования в качестве временной временной памяти. Вы можете определить требуемый размер этого диапазона буфера, вызвав IDMLDispatchable::GetBindingProperties.

Если свойства привязки для IDMLDispatchable указывают нулевой размер для временного ресурса, можно указать nullptr этому методу (что указывает на отсутствие ресурса для привязки). В противном случае должна быть предоставлена привязка типа DML_BINDING_TYPE_BUFFER , размер по крайней мере не ниже требуемого значения TemporaryResourceSize , возвращаемого IDMLDispatchable::GetBindingProperties.

Временный ресурс обычно используется в качестве временной памяти во время выполнения оператора. Содержимое временного ресурса не требуется определять до выполнения. Например, DirectML не требует обнулять содержимое временного ресурса перед привязкой или выполнением оператора .

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

Указанный диапазон буфера, который должен быть привязан к временному буферу, должен иметь начальное смещение, выровненное по DML_TEMPORARY_BUFFER_ALIGNMENT. Тип кучи, лежащей в основе буфера, должен быть D3D12_HEAP_TYPE_DEFAULT.

Синтаксис

void BindTemporaryResource(
  [in, optional] const DML_BINDING_DESC *binding
);

Параметры

[in, optional] binding

Тип: const DML_BINDING_DESC*

Необязательный указатель на DML_BINDING_DESC , содержащий описание ресурса тензора для привязки.

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

None

Требования

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

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

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

IDMLBindingTable