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 |