-
Notifications
You must be signed in to change notification settings - Fork 594
Mapping between runtime and aot intermediate outputs #11624
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
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/11624
Note: Links to docs will display an error until the docs builds have been completed. ✅ You can merge normally! (2 Unrelated Failures)As of commit efcd4d1 with merge base a6e104c ( BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This pull request was exported from Phabricator. Differential Revision: D76442807 |
@pytorchbot label "release notes: none" |
This pull request was exported from Phabricator. Differential Revision: D76442807 |
Summary: Pull Request resolved: pytorch#11624 This PR introduces a function map_runtime_aot_intermediate_outputs that maps runtime intermediate outputs to AOT intermediate outputs by identifying overlapping(between aot and runtime) debug handles and combining them into a single key that could handle below various mapping scenarios. 1. No Overlaps: There are no overlapping debug handles between AOT and runtime outputs. 2. 1-to-1 Mapping: A straightforward mapping where one AOT debug handle corresponds directly to one runtime debug handle. 3. 1-to-N Mapping: A single AOT debug handle maps to multiple runtime debug handles. 4. N-to-1 Mapping: Multiple AOT debug handles map to a single runtime debug handle. 5. N-to-N Mapping: More intricate scenarios where multiple AOT and runtime debug handles form a chain of overlaps In all cases where multiple debug handles are involved (N-to-1, 1-to-N, or N-to-N), the function merges these into a single combined debug handle and retains only the last intermediate output for each mapping. In order to handle all cases, the code first does some pre-processing to the input, then constructs a graph of nodes representing debug handles and outputs, identifies connected components using DFS, and creates mappings for overlapping components, merging debug handles and retaining the last output. This function will be used later in the Inspector Numerical Comparator class to create the mapping. Differential Revision: D76442807
da6beae
to
39c94db
Compare
This pull request was exported from Phabricator. Differential Revision: D76442807 |
39c94db
to
422d801
Compare
Summary: Pull Request resolved: pytorch#11624 This PR introduces a function map_runtime_aot_intermediate_outputs that maps runtime intermediate outputs to AOT intermediate outputs by identifying overlapping(between aot and runtime) debug handles and combining them into a single key that could handle below various mapping scenarios. 1. No Overlaps: There are no overlapping debug handles between AOT and runtime outputs. 2. 1-to-1 Mapping: A straightforward mapping where one AOT debug handle corresponds directly to one runtime debug handle. 3. 1-to-N Mapping: A single AOT debug handle maps to multiple runtime debug handles. 4. N-to-1 Mapping: Multiple AOT debug handles map to a single runtime debug handle. 5. N-to-N Mapping: More intricate scenarios where multiple AOT and runtime debug handles form a chain of overlaps In all cases where multiple debug handles are involved (N-to-1, 1-to-N, or N-to-N), the function merges these into a single combined debug handle and retains only the last intermediate output for each mapping. In order to handle all cases, the code first does some pre-processing to the input, then constructs a graph of nodes representing debug handles and outputs, identifies connected components using DFS, and creates mappings for overlapping components, merging debug handles and retaining the last output. This function will be used later in the Inspector Numerical Comparator class to create the mapping. Differential Revision: D76442807
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.
LGTM
This pull request was exported from Phabricator. Differential Revision: D76442807 |
Summary: Pull Request resolved: pytorch#11624 This PR introduces a function map_runtime_aot_intermediate_outputs that maps runtime intermediate outputs to AOT intermediate outputs by identifying overlapping(between aot and runtime) debug handles and combining them into a single key that could handle below various mapping scenarios. 1. No Overlaps: There are no overlapping debug handles between AOT and runtime outputs. 2. 1-to-1 Mapping: A straightforward mapping where one AOT debug handle corresponds directly to one runtime debug handle. 3. 1-to-N Mapping: A single AOT debug handle maps to multiple runtime debug handles. 4. N-to-1 Mapping: Multiple AOT debug handles map to a single runtime debug handle. 5. N-to-N Mapping: More intricate scenarios where multiple AOT and runtime debug handles form a chain of overlaps In all cases where multiple debug handles are involved (N-to-1, 1-to-N, or N-to-N), the function merges these into a single combined debug handle and retains only the last intermediate output for each mapping. In order to handle all cases, the code first does some pre-processing to the input, then constructs a graph of nodes representing debug handles and outputs, identifies connected components using DFS, and creates mappings for overlapping components, merging debug handles and retaining the last output. This function will be used later in the Inspector Numerical Comparator class to create the mapping. Reviewed By: Gasoonjia Differential Revision: D76442807
422d801
to
d4a34aa
Compare
This pull request was exported from Phabricator. Differential Revision: D76442807 |
d4a34aa
to
6634735
Compare
Summary: Pull Request resolved: pytorch#11624 This PR introduces a function map_runtime_aot_intermediate_outputs that maps runtime intermediate outputs to AOT intermediate outputs by identifying overlapping(between aot and runtime) debug handles and combining them into a single key that could handle below various mapping scenarios. 1. No Overlaps: There are no overlapping debug handles between AOT and runtime outputs. 2. 1-to-1 Mapping: A straightforward mapping where one AOT debug handle corresponds directly to one runtime debug handle. 3. 1-to-N Mapping: A single AOT debug handle maps to multiple runtime debug handles. 4. N-to-1 Mapping: Multiple AOT debug handles map to a single runtime debug handle. 5. N-to-N Mapping: More intricate scenarios where multiple AOT and runtime debug handles form a chain of overlaps In all cases where multiple debug handles are involved (N-to-1, 1-to-N, or N-to-N), the function merges these into a single combined debug handle and retains only the last intermediate output for each mapping. In order to handle all cases, the code first does some pre-processing to the input, then constructs a graph of nodes representing debug handles and outputs, identifies connected components using DFS, and creates mappings for overlapping components, merging debug handles and retaining the last output. This function will be used later in the Inspector Numerical Comparator class to create the mapping. Reviewed By: Gasoonjia Differential Revision: D76442807
This pull request was exported from Phabricator. Differential Revision: D76442807 |
6634735
to
e144487
Compare
Summary: Pull Request resolved: pytorch#11624 This PR introduces a function map_runtime_aot_intermediate_outputs that maps runtime intermediate outputs to AOT intermediate outputs by identifying overlapping(between aot and runtime) debug handles and combining them into a single key that could handle below various mapping scenarios. 1. No Overlaps: There are no overlapping debug handles between AOT and runtime outputs. 2. 1-to-1 Mapping: A straightforward mapping where one AOT debug handle corresponds directly to one runtime debug handle. 3. 1-to-N Mapping: A single AOT debug handle maps to multiple runtime debug handles. 4. N-to-1 Mapping: Multiple AOT debug handles map to a single runtime debug handle. 5. N-to-N Mapping: More intricate scenarios where multiple AOT and runtime debug handles form a chain of overlaps In all cases where multiple debug handles are involved (N-to-1, 1-to-N, or N-to-N), the function merges these into a single combined debug handle and retains only the last intermediate output for each mapping. In order to handle all cases, the code first does some pre-processing to the input, then constructs a graph of nodes representing debug handles and outputs, identifies connected components using DFS, and creates mappings for overlapping components, merging debug handles and retaining the last output. This function will be used later in the Inspector Numerical Comparator class to create the mapping. Reviewed By: Gasoonjia Differential Revision: D76442807
This pull request was exported from Phabricator. Differential Revision: D76442807 |
Summary: Pull Request resolved: pytorch#11624 This PR introduces a function map_runtime_aot_intermediate_outputs that maps runtime intermediate outputs to AOT intermediate outputs by identifying overlapping(between aot and runtime) debug handles and combining them into a single key that could handle below various mapping scenarios. 1. No Overlaps: There are no overlapping debug handles between AOT and runtime outputs. 2. 1-to-1 Mapping: A straightforward mapping where one AOT debug handle corresponds directly to one runtime debug handle. 3. 1-to-N Mapping: A single AOT debug handle maps to multiple runtime debug handles. 4. N-to-1 Mapping: Multiple AOT debug handles map to a single runtime debug handle. 5. N-to-N Mapping: More intricate scenarios where multiple AOT and runtime debug handles form a chain of overlaps In all cases where multiple debug handles are involved (N-to-1, 1-to-N, or N-to-N), the function merges these into a single combined debug handle and retains only the last intermediate output for each mapping. In order to handle all cases, the code first does some pre-processing to the input, then constructs a graph of nodes representing debug handles and outputs, identifies connected components using DFS, and creates mappings for overlapping components, merging debug handles and retaining the last output. This function will be used later in the Inspector Numerical Comparator class to create the mapping. Reviewed By: Gasoonjia Differential Revision: D76442807
e144487
to
7a0ad61
Compare
Summary: Pull Request resolved: pytorch#11624 This PR introduces a function map_runtime_aot_intermediate_outputs that maps runtime intermediate outputs to AOT intermediate outputs by identifying overlapping(between aot and runtime) debug handles and combining them into a single key that could handle below various mapping scenarios. 1. No Overlaps: There are no overlapping debug handles between AOT and runtime outputs. 2. 1-to-1 Mapping: A straightforward mapping where one AOT debug handle corresponds directly to one runtime debug handle. 3. 1-to-N Mapping: A single AOT debug handle maps to multiple runtime debug handles. 4. N-to-1 Mapping: Multiple AOT debug handles map to a single runtime debug handle. 5. N-to-N Mapping: More intricate scenarios where multiple AOT and runtime debug handles form a chain of overlaps In all cases where multiple debug handles are involved (N-to-1, 1-to-N, or N-to-N), the function merges these into a single combined debug handle and retains only the last intermediate output for each mapping. In order to handle all cases, the code first does some pre-processing to the input, then constructs a graph of nodes representing debug handles and outputs, identifies connected components using DFS, and creates mappings for overlapping components, merging debug handles and retaining the last output. This function will be used later in the Inspector Numerical Comparator class to create the mapping. Reviewed By: Gasoonjia Differential Revision: D76442807
This pull request was exported from Phabricator. Differential Revision: D76442807 |
7a0ad61
to
efcd4d1
Compare
Summary:
This PR introduces a function map_runtime_aot_intermediate_outputs that maps runtime intermediate outputs to AOT intermediate outputs by identifying overlapping(between aot and runtime) debug handles and combining them into a single key that could handle below various mapping scenarios.
In all cases where multiple debug handles are involved (N-to-1, 1-to-N, or N-to-N), the function merges these into a single combined debug handle and retains only the last intermediate output for each mapping.
In order to handle all cases, the code first does some pre-processing to the input, then constructs a graph of nodes representing debug handles and outputs, identifies connected components using DFS, and creates mappings for overlapping components, merging debug handles and retaining the last output.
This function will be used later in the Inspector Numerical Comparator class to create the mapping.
Differential Revision: D76442807