Compartilhar via


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

Associa um buffer a ser usado como memória zero temporária. Você pode determinar o tamanho necessário desse intervalo de buffer chamando IDMLDispatchable::GetBindingProperties.

Se as propriedades de associação do IDMLDispatchable especificarem um tamanho igual a zero para o recurso temporário, você poderá fornecer nullptr a esse método (o que indica nenhum recurso a ser associado). Caso contrário, uma associação do tipo DML_BINDING_TYPE_BUFFER deve ser fornecida que seja pelo menos tão grande quanto o TemporaryResourceSize necessário retornado por IDMLDispatchable::GetBindingProperties.

O recurso temporário normalmente é usado como memória de rascunho durante a execução de um operador. O conteúdo de um recurso temporário não precisa ser definido antes da execução. Por exemplo, o DirectML não exige que você zerou o conteúdo do recurso temporário antes de associar ou executar um operador.

Você não precisa preservar o conteúdo do buffer temporário e seu aplicativo é livre para substituir ou reutilizar seu conteúdo assim que a execução de um operador ou inicializador for concluída na GPU. Isso contrasta com um recurso persistente, cujo conteúdo deve ser preservado e tempo de vida estendido durante o tempo de vida do operador.

O intervalo de buffer fornecido a ser associado, pois o buffer temporário deve ter seu deslocamento inicial alinhado ao DML_TEMPORARY_BUFFER_ALIGNMENT. O tipo do heap subjacente ao buffer deve ser D3D12_HEAP_TYPE_DEFAULT.

Sintaxe

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

Parâmetros

[in, optional] binding

Tipo: const DML_BINDING_DESC*

Um ponteiro opcional para um DML_BINDING_DESC que contém a descrição de um recurso tensor a ser associado.

Retornar valor

Nenhum

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho directml.h
Biblioteca DirectML.lib
DLL DirectML.dll

Confira também

Associação no DirectML

IDMLBindingTable