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