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*
圖形輸入與圖形中內部節點輸入之間的連線數位。 每個元素內的 [類型 ] 欄位應該設定為 DML_GRAPH_EDGE_TYPE_INPUT。
OutputEdgeCount
類型: UINT
圖形輸出與圖形中內部節點輸出之間的連線數目。
OutputEdges
類型:_Field_size_ (OutputEdgeCount) const DML_GRAPH_EDGE_DESC*
圖形輸出與圖形中內部節點輸出之間的連線數位。 每個元素內的 [類型 ] 欄位應該設定為 DML_GRAPH_EDGE_TYPE_OUTPUT。
IntermediateEdgeCount
類型: UINT
圖形中節點之間的內部連線數目。
IntermediateEdges
類型:_Field_size_ (IntermediateEdgeCount) const DML_GRAPH_EDGE_DESC*
圖形中內部節點輸入和輸出之間的連線數位列。 每個元素內的 [類型] 欄位應該設定為 DML_GRAPH_EDGE_TYPE_INTERMEDIATE
備註
這個結構所描述的圖表必須是導向的無循環圖表。 您必須定義每個所提供節點之輸入和輸出的連接,但對於相關聯運算元而言是選擇性的輸入和輸出除外。
節點可能會針對特定輸入使用 DML_TENSOR_FLAG_OWNED_BY_DML 旗標所建立的運算符。 使用此旗標的任何運算元輸入都必須連接到圖形輸入。 連接到相同圖形輸入的所有運算元輸入都必須使用或省略此旗標。
連接其連接輸入和輸出的運算子使用不同的維度計數、大小和數據類型是合法的。 這表示每個運算符會以不同的方式解譯 Tensor 數據 Blob。 不過,連接的張量輸入和輸出 的 TotalTensorSizeInBytes 欄位必須相同。 運算子應該只讀取先前運算子所撰寫之張量的區域。 作業輸出中任何填補區域 (因使用) 而產生,不保證由下流運算符讀取為零。
可用性
此 API 是在 DirectML 版本中 1.1.0
引進的。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 組建 20348 |
最低支援的伺服器 | Windows 10 組建 20348 |
標頭 | directml.h |