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 |