Share via


Método IDMLBindingTable::BindPersistentResource (directml.h)

Enlaza un búfer como un recurso persistente. Puede determinar el tamaño necesario de este intervalo de búfer llamando a IDMLDispatchable::GetBindingProperties.

Si las propiedades de enlace del operador especifican un tamaño de cero para el recurso persistente, puede proporcionar nullptr a este método (que indica que no hay ningún recurso que enlazar). De lo contrario, se debe proporcionar un enlace de tipo DML_BINDING_TYPE_BUFFER que sea al menos tan grande como el valor persistentResourceSize necesario devuelto por IDMLDispatchable::GetBindingProperties.

A diferencia del recurso temporal, el contenido y la duración del recurso persistente deben conservarse siempre y cuando el operador compilado lo haga. Es decir, si un operador requiere un recurso persistente, la aplicación debe suministrarla durante la inicialización y, posteriormente, proporcionarla a todas las ejecuciones futuras del operador sin modificar su contenido.

DirectML suele usar el recurso persistente para almacenar tablas de búsqueda u otros datos de larga duración que se calculan durante la inicialización de un operador y se reutilizan en futuras ejecuciones de ese operador.

Dado que los datos del recurso persistente son opacos, una vez inicializado, no se puede copiar ni mover a otro búfer.

El recurso persistente solo se escribe en durante la inicialización de un operador y es inmutable posteriormente; se garantiza que todas las ejecuciones posteriores no escriban en el recurso persistente.

El intervalo de búfer proporcionado que se va a enlazar, ya que el búfer persistente debe tener su desplazamiento inicial alineado con DML_PERSISTENT_BUFFER_ALIGNMENT. El tipo del montón subyacente al búfer debe ser D3D12_HEAP_TYPE_DEFAULT.

Sintaxis

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

Parámetros

[in, optional] binding

Tipo: const DML_BINDING_DESC*

Puntero opcional a un DML_BINDING_DESC que contiene la descripción de un recurso tensor que se va a enlazar.

Valor devuelto

None

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado directml.h
Library DirectML.lib
Archivo DLL DirectML.dll

Consulte también

Enlaces en DirectML

IDMLBindingTable