estrutura DML_GRAPH_DESC (directml.h)
Descreve um grafo de operadores DirectML usados para compilar um operador combinado e otimizado. Consulte IDMLDevice1::CompileGraph.
Sintaxe
struct DML_GRAPH_DESC {
UINT InputCount;
UINT OutputCount;
UINT NodeCount;
const DML_GRAPH_NODE_DESC *Nodes;
UINT InputEdgeCount;
const DML_GRAPH_EDGE_DESC *InputEdges;
UINT OutputEdgeCount;
const DML_GRAPH_EDGE_DESC *OutputEdges;
UINT IntermediateEdgeCount;
const DML_GRAPH_EDGE_DESC *IntermediateEdges;
};
Membros
InputCount
Tipo: UINT
O número de entradas do grafo geral. Cada entrada de grafo pode estar conectada a um número variável de nós internos, portanto, isso pode ser diferente de InputEdgeCount.
OutputCount
Tipo: UINT
O número de saídas do grafo geral. Cada saída de grafo pode estar conectada a um número variável de nós internos, portanto, isso pode ser diferente de OutputEdgeCount.
NodeCount
Tipo: UINT
O número de nós internos no grafo.
Nodes
Tipo: _Field_size_(NodeCount) const DML_GRAPH_NODE_DESC*
Os nós internos no grafo.
InputEdgeCount
Tipo: UINT
O número de conexões entre entradas de grafo e entradas de nós internos no grafo.
InputEdges
Tipo: _Field_size_(InputEdgeCount) const DML_GRAPH_EDGE_DESC*
Uma matriz de conexões entre entradas de grafo e entradas de nós internos no grafo. O campo Tipo dentro de cada elemento deve ser definido como DML_GRAPH_EDGE_TYPE_INPUT.
OutputEdgeCount
Tipo: UINT
O número de conexões entre saídas de grafo e saídas de nós internos no grafo.
OutputEdges
Tipo: _Field_size_(OutputEdgeCount) const DML_GRAPH_EDGE_DESC*
Uma matriz de conexões entre saídas de grafo e saídas de nós internos no grafo. O campo Tipo dentro de cada elemento deve ser definido como DML_GRAPH_EDGE_TYPE_OUTPUT.
IntermediateEdgeCount
Tipo: UINT
O número de conexões internas entre nós no grafo.
IntermediateEdges
Tipo: _Field_size_(IntermediateEdgeCount) const DML_GRAPH_EDGE_DESC*
Uma matriz de conexões entre entradas e saídas de nós internos no grafo. O campo Tipo dentro de cada elemento deve ser definido como DML_GRAPH_EDGE_TYPE_INTERMEDIATE
Comentários
O grafo descrito por essa estrutura deve ser um grafo direcionado acíclico. Você deve definir uma conexão para a entrada e a saída de cada nó fornecido, exceto para entradas e saídas que são opcionais para o operador associado.
Os nós podem usar operadores que foram criados usando o sinalizador DML_TENSOR_FLAG_OWNED_BY_DML para determinadas entradas. Todas as entradas de operador que usam esse sinalizador devem ser conectadas a entradas de grafo. Todas as entradas de operador conectadas à mesma entrada de grafo devem usar ou omitir esse sinalizador de forma equivalente.
É legal conectar operadores cujas entradas e saídas conectadas usam diferentes contagens de dimensões, tamanhos e tipos de dados. Isso implica que o blob de dados tensor é interpretado de forma diferente por cada operador. No entanto, o campo TotalTensorSizeInBytes de entradas e saídas de tensor conectadas deve ser idêntico. Os operadores devem ler apenas regiões de tensores gravadas por operadores anteriores. Não há garantia de que todas as regiões de preenchimento na saída de uma operação (resultantes do uso de passos) sejam lidas como zero por operadores de down-stream.
Disponibilidade
Essa API foi introduzida na versão 1.1.0
do DirectML .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 Build 20348 |
Servidor mínimo com suporte | Windows 10 Build 20348 |
Cabeçalho | directml.h |