Método IDMLDevice1::CompileGraph (directml.h)
Compila um grafo de operadores DirectML em um objeto que pode ser enviado para a GPU.
Um operador compilado representa a forma eficiente e assada de um operador adequado para execução na GPU. Um operador compilado contém o estado (como sombreadores e outros objetos) necessários para execução. Como um operador compilado implementa a interface IDMLPageable , você pode remover uma da memória de GPU, se desejar. Consulte IDMLDevice1::Remove e IDMLDevice1::MakeResident para obter mais informações.
O operador compilado não usa nem faz referência aos objetos IDMLOperator fornecidos na descrição do grafo após o retorno desse método.
Sintaxe
HRESULT CompileGraph(
const DML_GRAPH_DESC *desc,
DML_EXECUTION_FLAGS flags,
REFIID riid,
[out] void **ppv
);
Parâmetros
desc
Tipo: DML_GRAPH_DESC*
Uma descrição do grafo a ser compilado. Consulte DML_GRAPH_DESC.
flags
Tipo: DML_EXECUTION_FLAGS
Todos os sinalizadores para controlar a execução desse operador.
riid
Tipo: REFIID
Uma referência ao GUID (identificador global exclusivo) da interface que você deseja que seja retornado em ppv. Espera-se que esse seja o GUID de IDMLCompiledOperator.
[out] ppv
Tipo: void**
Um ponteiro para um bloco de memória que recebe um ponteiro para o operador compilado. Esse é o endereço de um ponteiro para um IDMLCompiledOperator, representando o operador compilado criado.
Valor retornado
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
A API de grafo do operador DirectML fornece uma maneira abstrata de usar o DirectML com eficiência em vários hardwares. O DirectML aplica otimizações no nível do tensor, como escolher o layout de tensor mais eficiente com base no adaptador que está sendo usado. Ele também aplica otimizações como a remoção de operadores Join ou Split.
Recomendamos que você aplique otimizações de alto nível antes de criar um grafo DirectML. Por exemplo, fundindo operadores convolution com BatchNorm, dobramento constante e eliminação de subexpressão comum. As otimizações no otimizador de grafo do DirectML destinam-se a complementar essas otimizações independentes de dispositivo, que normalmente são tratadas genericamente por estruturas de machine learning.
Requisitos
Cliente mínimo com suporte | Windows 10 Build 20348 |
Servidor mínimo com suporte | Windows 10 Build 20348 |
Plataforma de Destino | Windows |
Cabeçalho | directml.h |
Biblioteca | DirectML.lib |
DLL | DirectML.dll |