struttura DML_GRAPH_DESC (directml.h)

Descrive un grafico degli operatori DirectML usati per compilare un operatore combinato ottimizzato. Vedere IDMLDevice1::CompileGraph.

Sintassi

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;
};

Members

InputCount

Tipo: UINT

Numero di input del grafico complessivo. Ogni input del grafo può essere connesso a un numero variabile di nodi interni, pertanto può essere diverso da InputEdgeCount.

OutputCount

Tipo: UINT

Numero di output del grafico complessivo. Ogni output del grafo può essere connesso a un numero variabile di nodi interni, pertanto questo può essere diverso da OutputEdgeCount.

NodeCount

Tipo: UINT

Numero di nodi interni nel grafico.

Nodes

Tipo: _Field_size_(NodeCount) const DML_GRAPH_NODE_DESC*

Nodi interni nel grafico.

InputEdgeCount

Tipo: UINT

Numero di connessioni tra input del grafo e input di nodi interni nel grafico.

InputEdges

Tipo: _Field_size_(InputEdgeCount) const DML_GRAPH_EDGE_DESC*

Matrice di connessioni tra input del grafo e input di nodi interni nel grafico. Il campo Type all'interno di ogni elemento deve essere impostato su DML_GRAPH_EDGE_TYPE_INPUT.

OutputEdgeCount

Tipo: UINT

Numero di connessioni tra output del grafico e output di nodi interni nel grafico.

OutputEdges

Tipo: _Field_size_(OutputEdgeCount) const DML_GRAPH_EDGE_DESC*

Matrice di connessioni tra output del grafico e output di nodi interni nel grafico. Il campo Tipo all'interno di ogni elemento deve essere impostato su DML_GRAPH_EDGE_TYPE_OUTPUT.

IntermediateEdgeCount

Tipo: UINT

Numero di connessioni interne tra nodi nel grafico.

IntermediateEdges

Tipo: _Field_size_(IntermediateEdgeCount) const DML_GRAPH_EDGE_DESC*

Matrice di connessioni tra input e output di nodi interni nel grafico. Il campo Tipo all'interno di ogni elemento deve essere impostato su DML_GRAPH_EDGE_TYPE_INTERMEDIATE

Commenti

Il grafico descritto da questa struttura deve essere un grafico aciclico diretto. È necessario definire una connessione per l'input e l'output di ogni nodo fornito, ad eccezione di input e output facoltativi per l'operatore associato.

I nodi possono usare gli operatori creati usando il flag DML_TENSOR_FLAG_OWNED_BY_DML per determinati input. Qualsiasi input dell'operatore che usa questo flag deve essere connesso agli input del grafo. Tutti gli input dell'operatore connessi allo stesso input del grafo devono usare o omettere questo flag in modo equivalente.

È legale connettere gli operatori i cui input e output connessi usano diversi conteggi delle dimensioni, dimensioni e tipi di dati. Ciò implica che il BLOB di dati tensor viene interpretato in modo diverso da ogni operatore. Il campo TotalTensorSizeInBytes di input e output del tensore connesso deve tuttavia essere identico. Gli operatori devono leggere solo le aree dei tensori scritti dagli operatori precedenti. Non è garantito che tutte le aree di riempimento nell'output di un'operazione (risultante dall'uso di passi) vengano lette come zero dagli operatori down-stream.

Disponibilità

Questa API è stata introdotta in DirectML versione 1.1.0.

Requisiti

Requisito Valore
Client minimo supportato Windows 10 Build 20348
Server minimo supportato Windows 10 Build 20348
Intestazione directml.h

Vedi anche