Compartilhar via


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

Associa um buffer como um recurso persistente. Você pode determinar o tamanho necessário desse intervalo de buffers chamando IDMLDispatchable::GetBindingProperties.

Se as propriedades de associação do operador especificarem um tamanho zero para o recurso persistente, você poderá fornecer nullptr a esse método (o que indica que nenhum recurso 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 PersistentResourceSize necessário retornado por IDMLDispatchable::GetBindingProperties.

Ao contrário do recurso temporário, o conteúdo e o tempo de vida do recurso persistente devem persistir enquanto o operador compilado persistir. Ou seja, se um operador exigir um recurso persistente, seu aplicativo deverá fornecê-lo durante a inicialização e, posteriormente, também fornecê-lo a todas as execuções futuras do operador sem modificar seu conteúdo.

O recurso persistente normalmente é usado pelo DirectML para armazenar tabelas de pesquisa ou outros dados de longa duração que são calculados durante a inicialização de um operador e reutilizados em execuções futuras desse operador.

Como os dados do recurso persistente são opacos, depois de inicializados, eles não podem ser copiados ou movidos para outro buffer.

O recurso persistente é gravado somente durante a inicialização de um operador e, depois disso, imutável; todas as execuções subsequentes têm a garantia de não gravar no recurso persistente.

O intervalo de buffers fornecido a ser associado, pois o buffer persistente deve ter seu deslocamento inicial alinhado a DML_PERSISTENT_BUFFER_ALIGNMENT. O tipo do heap subjacente ao buffer deve ser D3D12_HEAP_TYPE_DEFAULT.

Sintaxe

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