Share via


estructura DML_GRAPH_DESC (directml.h)

Describe un gráfico de operadores directML usados para compilar un operador combinado y optimizado. Consulte IDMLDevice1::CompileGraph.

Sintaxis

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

Miembros

InputCount

Tipo: UINT

Número de entradas del gráfico general. Cada entrada de grafo puede estar conectada a un número variable de nodos internos, por lo que esto puede ser diferente de InputEdgeCount.

OutputCount

Tipo: UINT

Número de salidas del gráfico general. Cada salida del grafo puede estar conectada a un número variable de nodos internos, por lo que puede ser diferente de OutputEdgeCount.

NodeCount

Tipo: UINT

Número de nodos internos del gráfico.

Nodes

Tipo: _Field_size_(NodeCount) const DML_GRAPH_NODE_DESC*

Nodos internos del gráfico.

InputEdgeCount

Tipo: UINT

Número de conexiones entre las entradas del grafo y las entradas de los nodos internos del gráfico.

InputEdges

Tipo: _Field_size_(InputEdgeCount) const DML_GRAPH_EDGE_DESC*

Matriz de conexiones entre las entradas de grafo y las entradas de los nodos internos del grafo. El campo Tipo de cada elemento debe establecerse en DML_GRAPH_EDGE_TYPE_INPUT.

OutputEdgeCount

Tipo: UINT

Número de conexiones entre salidas de grafos y salidas de nodos internos en el grafo.

OutputEdges

Tipo: _Field_size_(OutputEdgeCount) const DML_GRAPH_EDGE_DESC*

Matriz de conexiones entre salidas de grafos y salidas de nodos internos en el grafo. El campo Tipo de cada elemento debe establecerse en DML_GRAPH_EDGE_TYPE_OUTPUT.

IntermediateEdgeCount

Tipo: UINT

Número de conexiones internas entre nodos del gráfico.

IntermediateEdges

Tipo: _Field_size_(IntermediateEdgeCount) const DML_GRAPH_EDGE_DESC*

Matriz de conexiones entre entradas y salidas de nodos internos en el gráfico. El campo Tipo de cada elemento debe establecerse en DML_GRAPH_EDGE_TYPE_INTERMEDIATE

Comentarios

El gráfico descrito por esta estructura debe ser un grafo acíclico dirigido. Debe definir una conexión para la entrada y salida de cada nodo proporcionado, excepto las entradas y salidas que son opcionales para el operador asociado.

Los nodos pueden usar operadores creados con la marca DML_TENSOR_FLAG_OWNED_BY_DML para determinadas entradas. Todas las entradas de operador que usen esta marca deben estar conectadas a las entradas del grafo. Todas las entradas de operador conectadas a la misma entrada de grafo deben usar o omitir esta marca de forma equivalente.

Es legal conectar operadores cuyas entradas y salidas conectadas usan diferentes recuentos de dimensiones, tamaños y tipos de datos. Esto implica que cada operador interpreta de forma diferente el blob de datos tensor. Sin embargo, el campo TotalTensorSizeInBytes de entradas y salidas de tensor conectadas debe ser idéntico. Los operadores solo deben leer las regiones de tensores escritas por operadores anteriores. No se garantiza que las regiones de relleno de la salida de una operación (resultantes del uso de pasos) se lean como cero por los operadores de flujo descendente.

Disponibilidad

Esta API se introdujo en la versión 1.1.0de DirectML.

Requisitos

Requisito Value
Cliente mínimo compatible compilación 20348 de Windows 10
Servidor mínimo compatible compilación 20348 de Windows 10
Encabezado directml.h

Consulte también