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.0do 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

Confira também