Compartir a través de


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

Enlaza un búfer para usarlo como memoria temporal temporal. Puede determinar el tamaño necesario de este intervalo de búfer llamando a IDMLDispatchable::GetBindingProperties.

Si las propiedades de enlace de IDMLDispatchable especifican un tamaño de cero para el recurso temporal, puede proporcionar nullptr a este método (lo 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 de TemporaryResourceSize requerido devuelto por IDMLDispatchable::GetBindingProperties.

El recurso temporal se usa normalmente como memoria temporal durante la ejecución de un operador. El contenido de un recurso temporal no se debe definir antes de la ejecución. Por ejemplo, DirectML no requiere que cero el contenido del recurso temporal antes de enlazar o ejecutar un operador.

No es necesario conservar el contenido del búfer temporal y la aplicación puede sobrescribir o reutilizar su contenido tan pronto como se complete la ejecución de un operador o inicializador en la GPU. Esto contrasta con un recurso persistente, cuyo contenido debe conservarse y extenderse durante la vigencia del operador.

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

Sintaxis

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