Arm backend: Add real implementation for TOSA dialect ops (re-land)#20537
Arm backend: Add real implementation for TOSA dialect ops (re-land)#20537Erik-Lundell wants to merge 2 commits into
Conversation
TosaRealOpConfig configures how the real implementation is done. Main point of configuration is which node visitor is used. Currently, this needs to be done with a factory function with lazy import, due to direct imports causing a circular import. Tested by applying the infra to the avg_pool2d Tosa dialect op. The rewrite_avg_pool2d tests can now be ran to verify that the produced Tosa is correct. To make it completely correct, two additional passes need to be added to the test. Signed-off-by: Erik Lundell <erik.lundell@arm.com> Change-Id: I7b573583fe241b63927864684e5ccdd1e4aa2cff
Additionally, - Start pre-computing TOSA ops with real impl in ComputeOpsAOT. - Start running the model in tests were this was previously impossible due to ops not having a real impl. - Some modifications are needed in real_impl to run operators with kwargs. Signed-off-by: Erik Lundell <erik.lundell@arm.com> Change-Id: I94ed6aa08842d8cd57e9f0fb331edc5261b8d044
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/20537
Note: Links to docs will display an error until the docs builds have been completed. ❌ 6 New Failures, 4 Unrelated Failures, 2 Unclassified FailuresAs of commit 96c234b with merge base a8cfb75 ( NEW FAILURES - The following jobs have failed:
UNCLASSIFIED FAILURES - DrCI could not classify the following jobs because the workflow did not run on the merge base. The failures may be pre-existing on trunk or introduced by this PR:
FLAKY - The following job failed but was likely due to flakiness present on trunk:
BROKEN TRUNK - The following jobs failed but was 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 PR needs a
|
In a first commit,
Arm backend: Add infra for real implementations of Tosa ops
Tested by applying the infra to the avg_pool2d Tosa dialect op.
The rewrite_avg_pool2d tests can now be ran to verify that
the produced Tosa is correct. To make it completely correct,
two additional passes need to be added to the test.
Then,
Arm backend: Add real impls to all TOSA dialect ops
Additionally,
since they can now be executed.
impossible due to ops not having a real impl.
cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell @rascani