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 |