Skip to content

Arm backend: Keep internal shared qspec with uint8 IO#20978

Merged
bdemirb merged 1 commit into
pytorch:mainfrom
bdemirb:baris/1286838-keep-internal-shared-qspec-uint8
Jul 17, 2026
Merged

Arm backend: Keep internal shared qspec with uint8 IO#20978
bdemirb merged 1 commit into
pytorch:mainfrom
bdemirb:baris/1286838-keep-internal-shared-qspec-uint8

Conversation

@bdemirb

@bdemirb bdemirb commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

@bdemirb
bdemirb requested a review from digantdesai as a code owner July 16, 2026 13:45
@pytorch-bot

pytorch-bot Bot commented Jul 16, 2026

Copy link
Copy Markdown

🔗 Helpful Links

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

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

❌ 1 New Failure

As of commit 1e22c76 with merge base 47fd0d8 (image):

NEW FAILURE - The following job has failed:

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 Jul 16, 2026
@github-actions github-actions Bot added ciflow/trunk module: arm Issues related to arm backend labels Jul 16, 2026
@bdemirb

bdemirb commented Jul 16, 2026

Copy link
Copy Markdown
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 Jul 16, 2026
@bdemirb

bdemirb commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

@pytorchbot label "release notes: arm"

@pytorch-bot pytorch-bot Bot added the release notes: arm Changes to the ARM backend delegate label Jul 16, 2026
@bdemirb bdemirb changed the title Baris/1286838 keep internal shared qspec uint8 Arm backend: Keep internal shared qspec with uint8 IO Jul 16, 2026
The uint8 IO shared-qspec guard previously removed bridge ops from SharedQspecQuantizer for the whole graph when a model had preserved uint8 IO.

That protects image IO accuracy, but it also prevents internal cat clusters from sharing qparams. In RIFE this creates full-resolution FP32/QDQ concat islands before quantized convs.

Keep the uint8 IO guard local to shared clusters that actually touch uint8 model IO. Internal shared-qspec clusters can still be annotated and lowered as quantized ops.

Add regression coverage for both cases: cat must not bridge uint8 IO to high-range activations, while internal cat between quantized convs must still share qparams.

Signed-off-by: Baris Demir <baris.demir@arm.com>

Change-Id: I528572d6136f78cbfe27c75579c8b37a4e560887
@bdemirb
bdemirb force-pushed the baris/1286838-keep-internal-shared-qspec-uint8 branch from 17412b2 to 1e22c76 Compare July 17, 2026 13:16
@bdemirb
bdemirb merged commit efb18c1 into pytorch:main Jul 17, 2026
493 of 494 checks passed
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. module: arm Issues related to arm backend 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.

2 participants