onnxruntime
e1e292f9 - [DML EP] DML Graph Serialization Bug (#19748)

Commit
1 year ago
[DML EP] DML Graph Serialization Bug (#19748) ### Description This pull request addresses several issues: - The DML Graph's nodes were not sorted in a topologically ordered sequence, leading to crashes during deserialization when a child node preceded its parent node. This PR resolves this issue by implementing a topological sorting algorithm before serialization. - During the `RemoveUnconnectedNodes` process: - we update `intermeidateEdge.FromNodeIndex`. Additionally, we must update `intermediateEdge.Name` when it includes `intermediateEdge.FromNodeIndex`, as serialization/deserialization heavily relies on edge names. - we also eliminate unused edges. Consequently, we must erase inputs (now unused) from corresponding maps `serializedGraphInputIndexToSubgraphInputIndex` and `serializedGraphLargeConstantNameToSubgraphInputIndex`. ### Motivation and Context Why is this change required? What problem does it solve? There are few ONNX Zoo public models which were crashing during deserialization. <!-- - - If it fixes an open issue, please link to the issue here. --> --------- Co-authored-by: Jeff Bloomfield <38966965+jeffbloo@users.noreply.github.com>
Author
Parents
Loading