DML_GRAPH_DESC 结构 (directml.h)

介绍用于编译组合的优化运算符的 DirectML 运算符图。 请参阅 IDMLDevice1::CompileGraph

语法

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

成员

InputCount

类型: UINT

整体图的输入数。 每个图形输入都可以连接到可变数量的内部节点,因此这可能不同于 InputEdgeCount

OutputCount

类型: UINT

整体图的输出数。 每个图形输出都可以连接到数量可变的内部节点,因此这可能不同于 OutputEdgeCount

NodeCount

类型: UINT

图中的内部节点数。

Nodes

类型:_Field_size_ (NodeCount) const DML_GRAPH_NODE_DESC*

图中的内部节点。

InputEdgeCount

类型: UINT

图形输入与图形中内部节点的输入之间的连接数。

InputEdges

类型:_Field_size_ (InputEdgeCount) const DML_GRAPH_EDGE_DESC*

图形输入与图形中内部节点的输入之间的连接数组。 每个元素中的 Type 字段应设置为 DML_GRAPH_EDGE_TYPE_INPUT

OutputEdgeCount

类型: UINT

图形输出与图形中内部节点输出之间的连接数。

OutputEdges

类型:_Field_size_ (OutputEdgeCount) const DML_GRAPH_EDGE_DESC*

图形输出与图形中内部节点输出之间的连接数组。 每个元素中的 Type 字段应设置为 DML_GRAPH_EDGE_TYPE_OUTPUT

IntermediateEdgeCount

类型: UINT

图中节点之间的内部连接数。

IntermediateEdges

类型:_Field_size_ (IntermediateEdgeCount) const DML_GRAPH_EDGE_DESC*

图中内部节点的输入和输出之间的连接数组。 每个元素中的 Type 字段应设置为 DML_GRAPH_EDGE_TYPE_INTERMEDIATE

注解

此结构描述的图必须是有向无环图。 必须为每个提供的节点的输入和输出定义连接,但关联运算符的可选输入和输出除外。

节点可以使用某些输入使用 DML_TENSOR_FLAG_OWNED_BY_DML 标志创建的运算符。 使用此标志的任何运算符输入都必须连接到图形输入。 连接到同一图形输入的所有运算符输入必须等效地使用此标志或省略此标志。

连接其连接的输入和输出使用不同的维度计数、大小和数据类型的运算符是合法的。 这意味着每个运算符对张量数据 Blob 的解释不同。 但是,连接的张量输入和输出的 TotalTensorSizeInBytes 字段必须相同。 运算符应仅读取由早期运算符编写的张量区域。 由于使用步幅) 而导致的操作输出中 (的任何填充区域不保证被下流运算符读为零。

可用性

此 API 是在 DirectML 版本 中引入的 1.1.0

要求

要求
最低受支持的客户端 Windows 10内部版本 20348
最低受支持的服务器 Windows 10内部版本 20348
标头 directml.h

另请参阅