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
[export] Serialize symbolic values #103273
Conversation
[ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/103273
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit ed4ef55: This comment was automatically generated by Dr. CI and updates every 15 minutes. |
[ghstack-poisoned]
Requesting changes mainly because I'm unsure of the motivation behind adding extra params to graph module deserializer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some initial comments
* Serialized range constraints and inline constraints into symbols represented as strings * These symbols are then reconstructed in the deserialize_sym_int/bool functions by adding them to the shape env along with the ranges. * Modified the SymInt schema to also store the hint of the SymInt if it is represented as a symbol so that when we reconstruct the SymInt, the hint will also exist on the node. * GraphModuleDeserializer.deserialize now also optionally takes in a shape env and map of symbols to names. ReplaceSymSizeOpPass should not be needed after #103107 lands [ghstack-poisoned]
ghstack-source-id: 7c548e934c6e993cfb0dd9478058a28b106090cc Pull Request resolved: #103273
* Serialized range constraints and inline constraints into symbols represented as strings * These symbols are then reconstructed in the deserialize_sym_int/bool functions by adding them to the shape env along with the ranges. * Modified the SymInt schema to also store the hint of the SymInt if it is represented as a symbol so that when we reconstruct the SymInt, the hint will also exist on the node. * GraphModuleDeserializer.deserialize now also optionally takes in a shape env and map of symbols to names. ReplaceSymSizeOpPass should not be needed after #103107 lands [ghstack-poisoned]
ghstack-source-id: 5beca86a3240cf7c7f61e0b740e166a639ee84d1 Pull Request resolved: #103273
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we're good to go after 1 more iteration.
* Modified the SymInt schema to also store the hint of the SymInt if it is represented as a symbol so that when we reconstruct the SymInt, the hint will also exist on the node. * GraphModuleDeserializer.deserialize now also optionally map of symbol names to range. ReplaceSymSizeOpPass should not be needed after #103107 lands [ghstack-poisoned]
ghstack-source-id: a17228b8d3858d0230b86e4b4b4d536461248ae0 Pull Request resolved: #103273
* Modified the SymInt schema to also store the hint of the SymInt if it is represented as a symbol so that when we reconstruct the SymInt, the hint will also exist on the node. * GraphModuleDeserializer.deserialize now also optionally map of symbol names to range. ReplaceSymSizeOpPass should not be needed after #103107 lands [ghstack-poisoned]
ghstack-source-id: 445954766a5e936669f17995a867ef8eb45f104d Pull Request resolved: #103273
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's go
@pytorchbot merge |
Merge startedYour 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 |
ReplaceSymSizeOpPass should not be needed after #103107 lands
Stack from ghstack (oldest at bottom):