-
Notifications
You must be signed in to change notification settings - Fork 619
Deprecate tag qdq pass in xnnbackend #12170
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
Deprecate tag qdq pass in xnnbackend #12170
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/12170
Note: Links to docs will display an error until the docs builds have been completed. ⏳ No Failures, 19 PendingAs of commit c46b635 with merge base a909b83 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
This pull request was exported from Phabricator. Differential Revision: D77055623 |
b9d8cca
to
85e7b8c
Compare
@abhinaykukkadapu has imported this pull request. If you are a Meta employee, you can view this in D77055623. |
Summary: This diff decentralizes the q/dq implicit node tagging to individual partition configs instead of tagging it as part of backend pass. Changes in this diff: 1. Deprecate tag q dq pass 2. Remove all the places where this pass is used in the backend preprocess phase. 3. Decentralize the tagging to individual configs a. `generic_node_configs` will handle most of the non gemm nodes b. `gemm_configs` will handle gemm nodes c. channels last pass will add (copy q dq) or (dq copy q), tag the relevant nodes. d. tag q dq in conv1d unsqueeze pass. e. Tag q dq in compose cat 4. Deprecate configs.py where all the collection of nodes is maintained Fixes: pytorch#11588 Test Plan: Imported from GitHub, without a `Test Plan:` line. Rollback Plan: Differential Revision: D77055623 Pulled By: abhinaykukkadapu
85e7b8c
to
76418fd
Compare
This pull request was exported from Phabricator. Differential Revision: D77055623 |
Summary: This diff decentralizes the q/dq implicit node tagging to individual partition configs instead of tagging it as part of backend pass. Changes in this diff: 1. Deprecate tag q dq pass 2. Remove all the places where this pass is used in the backend preprocess phase. 3. Decentralize the tagging to individual configs a. `generic_node_configs` will handle most of the non gemm nodes b. `gemm_configs` will handle gemm nodes c. channels last pass will add (copy q dq) or (dq copy q), tag the relevant nodes. d. tag q dq in conv1d unsqueeze pass. e. Tag q dq in compose cat 4. Deprecate configs.py where all the collection of nodes is maintained Fixes: pytorch#11588 Test Plan: Imported from GitHub, without a `Test Plan:` line. Rollback Plan: Differential Revision: D77055623 Pulled By: abhinaykukkadapu
76418fd
to
c46b635
Compare
@abhinaykukkadapu has imported this pull request. If you are a Meta employee, you can view this in D77055623. |
@pytorchbot label "release notes: none" |
Summary: This diff decentralizes the q/dq implicit node tagging to individual partition configs instead of tagging it as part of backend pass. Changes in this diff: 1. Deprecate tag q dq pass 2. Remove all the places where this pass is used in the backend preprocess phase. 3. Decentralize the tagging to individual configs a. `generic_node_configs` will handle most of the non gemm nodes b. `gemm_configs` will handle gemm nodes c. channels last pass will add (copy q dq) or (dq copy q), tag the relevant nodes. d. tag q dq in conv1d unsqueeze pass. e. Tag q dq in compose cat 4. Deprecate configs.py where all the collection of nodes is maintained Fixes: pytorch#11588 Reviewed By: mcr229 Differential Revision: D77055623
q.meta = copy.meta.copy() | ||
|
||
# Always tag q/dq as implicit | ||
tag_as_implicit_q_dq(dq) |
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 was talking with @mcr229 about this, this can be brittle i.e. implicit tagging for q/dq in >1 places. Do we want to add a pass in the future to verify if the tagging is correct or not. Just for validation? Feel free to create an issue, don't have to add it right away.
Summary:
This diff decentralizes the q/dq implicit node tagging to individual partition configs instead of tagging it as part of backend pass.
Changes in this diff:
a.
generic_node_configs
will handle most of the non gemm nodesb.
gemm_configs
will handle gemm nodesc. channels last pass will add (copy q dq) or (dq copy q), tag the relevant nodes.
d. tag q dq in conv1d unsqueeze pass.
e. Tag q dq in compose cat
Fixes: #11588
Reviewed By: mcr229
Differential Revision: D77055623