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 |