Skip to content

Conversation

@martinlsm
Copy link
Collaborator

@martinlsm martinlsm commented Oct 21, 2025

In the SUM node visitor, an INT8->INT32 RESCALE node is inserted prior to the SUM node; similarly, an INT32->INT8 RESCALE node is inserted after.

This patch moves the insertion to InsertRescaleInt32Pass. Since SUM is decomposed, insertion of RESCALE nodes should be carried out before DecomposeSumPass (which decomposes SUM into a chain of single dim SUMs). The ordering is important to avoid redundant INT8/INT32 RESCALE nodes being inserted between each SUM node in the chain after decomposition. Only one INT8->INT32 RESCALE is needed before the chain, and an INT32->INT8 after it; between the SUM nodes in the chain, the edges are already in the correct INT32 data type.

Test plan

Tests exercising the modified pass of this patch have been added to backends/arm/test/passes/test_insert_rescale_i32_pass.py.

cc @freddan80 @per @zingo @oscarandersson8218 @digantdesai

@pytorch-bot
Copy link

pytorch-bot bot commented Oct 21, 2025

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/15299

Note: Links to docs will display an error until the docs builds have been completed.

❌ 8 New Failures, 3 Unrelated Failures

As of commit 0cec77a with merge base f7ca57e (image):

NEW FAILURES - The following jobs have failed:

FLAKY - The following jobs failed but were likely due to flakiness present on trunk:

BROKEN TRUNK - The following job 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.

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 21, 2025
@martinlsm
Copy link
Collaborator Author

@pytorchbot label ciflow/trunk

@martinlsm
Copy link
Collaborator Author

@pytorchbot label "partner: arm"

@pytorch-bot pytorch-bot bot added the partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm label Oct 21, 2025
@Sebastian-Larsson Sebastian-Larsson added the release notes: arm Changes to the ARM backend delegate label Oct 22, 2025
@martinlsm martinlsm force-pushed the marlin-move-sum-rescales branch from 6454ac0 to d0c08ca Compare October 22, 2025 07:25
In the SUM node visitor, an INT8->INT32 RESCALE node is inserted prior
to the SUM node; similarly, an INT32->INT8 RESCALE node is inserted
after.

This patch moves the insertion to `InsertRescaleInt32Pass`. Since SUM is
decomposed, insertion of RESCALE nodes should be carried out before
`DecomposeSumPass` (which decomposes SUM into a chain of single dim SUMs).
The ordering is important to avoid redundant INT8/INT32 RESCALE nodes
being inserted between each SUM node in the chain after decomposition.
Only one INT8->INT32 RESCALE is needed before the chain, and an
INT32->INT8 after it; between the SUM nodes in the chain, the edges are
already in the correct INT32 data type.

Signed-off-by: Martin Lindström <[email protected]>
Change-Id: I86dd5c34b50ca6cbba6ad98e1490c9b7effc3b3b
@martinlsm martinlsm force-pushed the marlin-move-sum-rescales branch from d0c08ca to 0cec77a Compare October 23, 2025 11:51
Copy link
Collaborator

@Sebastian-Larsson Sebastian-Larsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated CI failures

Copy link
Collaborator

@Sebastian-Larsson Sebastian-Larsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@martinlsm
Copy link
Collaborator Author

This is failing trunk / test-arm-backend (test_pytest_ops_ethosu_fvp) / linux-job (gh)

This must be a flaky test. It has not been seen in our internal CI nor have I managed to reproduce it locally by looping this test.

@zingo
Copy link
Collaborator

zingo commented Oct 23, 2025

It will probably work in that case if you retrigget the job?

@Sebastian-Larsson Sebastian-Larsson merged commit c4cd274 into pytorch:main Oct 24, 2025
433 of 446 checks passed
GregoryComer added a commit to GregoryComer/executorch that referenced this pull request Oct 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ciflow/trunk CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. partner: arm For backend delegation, kernels, demo, etc. from the 3rd-party partner, Arm release notes: arm Changes to the ARM backend delegate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants