Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update InternalMatch in subgraph_rewriter after repeated replacements #99039

Conversation

frost-intel
Copy link
Contributor

@frost-intel frost-intel commented Apr 13, 2023

Fixes #98974

When torch.fx.subgraph_rewriter._replace_pattern is used to remove nodes from a graph, if there are two adjacent matches then after the first removal, the nodes in InternalMatch.nodes_map and placeholder_nodes become outdated because they contain nodes that were just removed from the graph.

This fix is to update the match.nodes_map and match.placeholder_nodes using the node changes stored in match_changed_node.

cc @jgong5 @mingfeima @XiaobingSuper @sanchitintel @ashokei @jingxu10

@pytorch-bot
Copy link

pytorch-bot bot commented Apr 13, 2023

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/99039

Note: Links to docs will display an error until the docs builds have been completed.

✅ No Failures

As of commit d6dd464:
💚 Looks good so far! There are no failures yet. 💚

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@pytorch-bot pytorch-bot bot added the release notes: fx release notes category label Apr 13, 2023
@sanchitintel sanchitintel added the intel This tag is for PR from Intel label Apr 13, 2023
@sanchitintel sanchitintel requested review from wenzhe-nrv and removed request for EikanWang April 13, 2023 18:02
Copy link
Contributor

@angelayi angelayi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me -- thanks for sending out a fix!

torch/fx/subgraph_rewriter.py Outdated Show resolved Hide resolved
sanchitintel and others added 2 commits April 13, 2023 17:07
Co-authored-by: Angela Yi <angelayi@meta.com>
@frost-intel
Copy link
Contributor Author

@pytorchbot merge

@pytorch-bot pytorch-bot bot added the ciflow/trunk Trigger trunk jobs on your pull request label Apr 14, 2023
@pytorchmergebot
Copy link
Collaborator

Merge started

Your change will be merged once all checks pass (ETA 0-4 Hours).

Learn more about merging in the wiki.

Questions? Feedback? Please reach out to the PyTorch DevX Team

Advanced Debugging
Check the merge workflow status
here

ZainRizvi pushed a commit that referenced this pull request Apr 19, 2023
…#99039)

Fixes #98974

When `torch.fx.subgraph_rewriter._replace_pattern` is used to remove nodes from a graph, if there are two adjacent matches then after the first removal, the nodes in `InternalMatch.nodes_map` and `placeholder_nodes` become outdated because they contain nodes that were just removed from the graph.

This fix is to update the `match.nodes_map` and `match.placeholder_nodes` using the node changes stored in `match_changed_node`.

Pull Request resolved: #99039
Approved by: https://github.com/angelayi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ciflow/trunk Trigger trunk jobs on your pull request intel This tag is for PR from Intel Merged merging open source release notes: fx release notes category
Projects
None yet
Development

Successfully merging this pull request may close these issues.

InternalMatch tracks replacement nodes incorrectly for subsequent node removals in subgraph_rewriter
5 participants