Partager via


structure DML_GRAPH_DESC (directml.h)

Décrit un graphique d’opérateurs DirectML utilisés pour compiler un opérateur combiné et optimisé. Consultez IDMLDevice1 ::CompileGraph.

Syntaxe

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

Membres

InputCount

Type : UINT

Nombre d’entrées du graphique global. Chaque entrée de graphe peut être connectée à un nombre variable de nœuds internes, ce qui peut être différent d’InputEdgeCount.

OutputCount

Type : UINT

Nombre de sorties du graphique global. Chaque sortie de graphe peut être connectée à un nombre variable de nœuds internes, ce qui peut être différent de OutputEdgeCount.

NodeCount

Type : UINT

Nombre de nœuds internes dans le graphique.

Nodes

Type : _Field_size_(NodeCount) const DML_GRAPH_NODE_DESC*

Nœuds internes dans le graphique.

InputEdgeCount

Type : UINT

Nombre de connexions entre les entrées de graphe et les entrées de nœuds internes dans le graphe.

InputEdges

Type : _Field_size_(InputEdgeCount) const DML_GRAPH_EDGE_DESC*

Tableau de connexions entre les entrées de graphe et les entrées de nœuds internes dans le graphe. Le champ Type dans chaque élément doit être défini sur DML_GRAPH_EDGE_TYPE_INPUT.

OutputEdgeCount

Type : UINT

Nombre de connexions entre les sorties de graphe et les sorties de nœuds internes dans le graphe.

OutputEdges

Type : _Field_size_(OutputEdgeCount) const DML_GRAPH_EDGE_DESC*

Tableau de connexions entre les sorties de graphe et les sorties de nœuds internes dans le graphe. Le champ Type de chaque élément doit être défini sur DML_GRAPH_EDGE_TYPE_OUTPUT.

IntermediateEdgeCount

Type : UINT

Nombre de connexions internes entre les nœuds dans le graphique.

IntermediateEdges

Type : _Field_size_(IntermediateEdgeCount) const DML_GRAPH_EDGE_DESC*

Tableau de connexions entre les entrées et les sorties de nœuds internes dans le graphique. Le champ Type de chaque élément doit être défini sur DML_GRAPH_EDGE_TYPE_INTERMEDIATE

Remarques

Le graphe décrit par cette structure doit être un graphe acyclique dirigé. Vous devez définir une connexion pour l’entrée et la sortie de chaque nœud fourni, à l’exception des entrées et sorties facultatives pour l’opérateur associé.

Les nœuds peuvent utiliser des opérateurs qui ont été créés à l’aide de l’indicateur DML_TENSOR_FLAG_OWNED_BY_DML pour certaines entrées. Toutes les entrées d’opérateur utilisant cet indicateur doivent être connectées aux entrées de graphique. Toutes les entrées d’opérateur connectées à la même entrée de graphe doivent utiliser ou omettre cet indicateur de manière équivalente.

Il est légal de connecter des opérateurs dont les entrées et sorties connectées utilisent différents nombres de dimensions, tailles et types de données. Cela implique que l’objet blob de données tensoriels est interprété différemment par chaque opérateur. Le champ TotalTensorSizeInBytes des entrées et sorties de tenseurs connectés doit toutefois être identique. Les opérateurs doivent lire uniquement les régions des tenseurs écrits par des opérateurs précédents. Les régions de remplissage dans la sortie d’une opération (résultant de l’utilisation de foulées) ne sont pas garanties d’être lues comme zéro par les opérateurs de flux descendant.

Disponibilité

Cette API a été introduite dans la version 1.1.0de DirectML .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 Build 20348
Serveur minimal pris en charge Windows 10 Build 20348
En-tête directml.h

Voir aussi