-
Notifications
You must be signed in to change notification settings - Fork 607
add duplicate constant node pass #2570
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/2570
Note: Links to docs will display an error until the docs builds have been completed. ❌ 2 New Failures, 3 Unrelated FailuresAs of commit 32b0898 with merge base c8f2d8d ( NEW FAILURES - The following jobs have failed:
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: D55113232 |
abeff35
to
8fcee6a
Compare
Summary: This diff is the follow up for pytorch#2424 In the case like ``` consant_0 (tag_10) ----> op_b (tag_10) |-------------> op_a (tag_11) ``` `op_b` and `op_a` are in two delegated payload and `constant_0` have two options: In this diff, we're making the default behavior as allowing copying, meaning it will become ``` consant_0 (tag_10)------------------> op_b (tag_10) consant_0_copy (tag_11) -------------> op_a (tag_11) ``` The backend can tag the node with `no_copy` to allert users in cases like constants are too large or etc. In this case, a better approach can be ``` consant_0 (tag_10) ----> op_b (tag_10) |-----(output consant_0) --------> op_a (tag_11) ``` Reviewed By: kirklandsign Differential Revision: D55113232
This pull request was exported from Phabricator. Differential Revision: D55113232 |
Summary: This diff is the follow up for pytorch#2424 In the case like ``` consant_0 (tag_10) ----> op_b (tag_10) |-------------> op_a (tag_11) ``` `op_b` and `op_a` are in two delegated payload and `constant_0` have two options: In this diff, we're making the default behavior as allowing copying, meaning it will become ``` consant_0 (tag_10)------------------> op_b (tag_10) consant_0_copy (tag_11) -------------> op_a (tag_11) ``` The backend can tag the node with `no_copy` to allert users in cases like constants are too large or etc. In this case, a better approach can be ``` consant_0 (tag_10) ----> op_b (tag_10) |-----(output consant_0) --------> op_a (tag_11) ``` Reviewed By: kirklandsign Differential Revision: D55113232
8fcee6a
to
62de30d
Compare
This pull request was exported from Phabricator. Differential Revision: D55113232 |
Summary: This diff is the follow up for pytorch#2424 In the case like ``` consant_0 (tag_10) ----> op_b (tag_10) |-------------> op_a (tag_11) ``` `op_b` and `op_a` are in two delegated payload and `constant_0` have two options: In this diff, we're making the default behavior as allowing copying, meaning it will become ``` consant_0 (tag_10)------------------> op_b (tag_10) consant_0_copy (tag_11) -------------> op_a (tag_11) ``` The backend can tag the node with `no_copy` to allert users in cases like constants are too large or etc. In this case, a better approach can be ``` consant_0 (tag_10) ----> op_b (tag_10) |-----(output consant_0) --------> op_a (tag_11) ``` Reviewed By: kirklandsign Differential Revision: D55113232
62de30d
to
76b2170
Compare
This pull request was exported from Phabricator. Differential Revision: D55113232 |
Summary: This diff is the follow up for pytorch#2424 In the case like ``` consant_0 (tag_10) ----> op_b (tag_10) |-------------> op_a (tag_11) ``` `op_b` and `op_a` are in two delegated payload and `constant_0` have two options: In this diff, we're making the default behavior as allowing copying, meaning it will become ``` consant_0 (tag_10)------------------> op_b (tag_10) consant_0_copy (tag_11) -------------> op_a (tag_11) ``` The backend can tag the node with `no_copy` to allert users in cases like constants are too large or etc. In this case, a better approach can be ``` consant_0 (tag_10) ----> op_b (tag_10) |-----(output consant_0) --------> op_a (tag_11) ``` Reviewed By: angelayi Differential Revision: D55113232
76b2170
to
69d8b43
Compare
This pull request was exported from Phabricator. Differential Revision: D55113232 |
Summary: This diff is the follow up for pytorch#2424 In the case like ``` consant_0 (tag_10) ----> op_b (tag_10) |-------------> op_a (tag_11) ``` `op_b` and `op_a` are in two delegated payload and `constant_0` have two options: In this diff, we're making the default behavior as allowing copying, meaning it will become ``` consant_0 (tag_10)------------------> op_b (tag_10) consant_0_copy (tag_11) -------------> op_a (tag_11) ``` The backend can tag the node with `no_copy` to allert users in cases like constants are too large or etc. In this case, a better approach can be ``` consant_0 (tag_10) ----> op_b (tag_10) |-----(output consant_0) --------> op_a (tag_11) ``` Reviewed By: angelayi Differential Revision: D55113232
69d8b43
to
29c285c
Compare
This pull request was exported from Phabricator. Differential Revision: D55113232 |
Summary: This diff is the follow up for pytorch#2424 In the case like ``` consant_0 (tag_10) ----> op_b (tag_10) |-------------> op_a (tag_11) ``` `op_b` and `op_a` are in two delegated payload and `constant_0` have two options: In this diff, we're making the default behavior as allowing copying, meaning it will become ``` consant_0 (tag_10)------------------> op_b (tag_10) consant_0_copy (tag_11) -------------> op_a (tag_11) ``` The backend can tag the node with `no_copy` to allert users in cases like constants are too large or etc. In this case, a better approach can be ``` consant_0 (tag_10) ----> op_b (tag_10) |-----(output consant_0) --------> op_a (tag_11) ``` Reviewed By: angelayi Differential Revision: D55113232
29c285c
to
32b0898
Compare
This pull request was exported from Phabricator. Differential Revision: D55113232 |
This pull request has been merged in 7f96f5a. |
@pytorchbot cherry-pick --onto release/0.2 |
❌ 🤖 pytorchbot command failed:
Try |
@pytorchbot cherry-pick --onto release/0.2 -c critical |
Summary: Pull Request resolved: #2570 This diff is the follow up for #2424 In the case like ``` consant_0 (tag_10) ----> op_b (tag_10) |-------------> op_a (tag_11) ``` `op_b` and `op_a` are in two delegated payload and `constant_0` have two options: In this diff, we're making the default behavior as allowing copying, meaning it will become ``` consant_0 (tag_10)------------------> op_b (tag_10) consant_0_copy (tag_11) -------------> op_a (tag_11) ``` The backend can tag the node with `no_copy` to allert users in cases like constants are too large or etc. In this case, a better approach can be ``` consant_0 (tag_10) ----> op_b (tag_10) |-----(output consant_0) --------> op_a (tag_11) ``` Reviewed By: angelayi Differential Revision: D55113232 fbshipit-source-id: 49559a8cc8225b866a399b4db04ef59fc6860cc1 (cherry picked from commit 7f96f5a)
Cherry picking #2570The cherry pick PR is at #2945 and it is recommended to link a critical cherry pick PR with an issue Details for Dev Infra teamRaised by workflow job |
Summary:
This diff is the follow up for #2424
In the case like
op_b
andop_a
are in two delegated payload andconstant_0
have two options:In this diff, we're making the default behavior as allowing copying, meaning it will become
The backend can tag the node with
no_copy
to allert users in cases like constants are too large or etc. In this case, a better approach can beDifferential Revision: D55113232