Allow context-binary lowering to use edge dialect ops (#20518)#20518
Allow context-binary lowering to use edge dialect ops (#20518)#20518JakeStevens wants to merge 1 commit into
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20518
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 Cancelled JobAs of commit 9daf0b4 with merge base f8c8334 ( CANCELLED JOB - The following job was cancelled. Please retry:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
@JakeStevens has exported this pull request. If you are a Meta employee, you can view the originating Diff in D109598309. |
This PR needs a
|
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
ce774b0 to
101ea39
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
101ea39 to
e924d07
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
e924d07 to
1095873
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
1095873 to
18d165e
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
18d165e to
36aeffe
Compare
Summary: Unblocks the QNN context-binary path from lowering through `to_edge` with `_use_edge_ops=True` (the default). Previously it was pinned to `EdgeCompileConfig(_use_edge_ops=False)` purely to keep the `qaisw` context-loader custom op's original name, because loader detection was name-based. Loader detection now goes through a single `is_context_loader_target()` helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (`eval`, raw `.namespace`, substring). Differential Revision: D109598309
36aeffe to
9daf0b4
Compare
| op = unwrap_op_overload(target) | ||
| if op.namespace != OpContextLoader.namespace: | ||
| return False | ||
| if op_name is None: |
There was a problem hiding this comment.
Why does op_name is None evaluate as True?
Summary:
Unblocks the QNN context-binary path from lowering through
to_edgewith_use_edge_ops=True(the default). Previously it was pinned toEdgeCompileConfig(_use_edge_ops=False)purely to keep theqaiswcontext-loader custom op's original name, because loader detection was name-based.Loader detection now goes through a single
is_context_loader_target()helper that matches the op namespace (so it works on the edge-dialect wrapper), replacing the three name-dependent checks (eval, raw.namespace, substring).Differential Revision: D109598309