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


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

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

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

В отличие от временного ресурса, содержимое и время существования постоянного ресурса должны сохраняться до тех пор, пока это делает скомпилированный оператор. То есть, если оператору требуется постоянный ресурс, приложение должно предоставить его во время инициализации, а затем и во все последующие выполнения оператора без изменения его содержимого.

Постоянный ресурс обычно используется DirectML для хранения таблиц подстановки или других долговременных данных, которые вычисляются во время инициализации оператора и повторно используются в будущих выполнениях этого оператора.

Так как данные постоянного ресурса непрозрачны, после инициализации их нельзя скопировать или переместить в другой буфер.

Постоянный ресурс записывается только во время инициализации оператора и после этого становится неизменяемым; все последующие выполнения гарантированно не будут записываться в постоянный ресурс.

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

Синтаксис

void BindPersistentResource(
  [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