Skip to content

Arm backend: Avoid shared qspec bridges for uint8 IO#20976

Open
bdemirb wants to merge 3 commits into
pytorch:mainfrom
bdemirb:baris/1286639-avoid-shared-qspec-uint8
Open

Arm backend: Avoid shared qspec bridges for uint8 IO#20976
bdemirb wants to merge 3 commits into
pytorch:mainfrom
bdemirb:baris/1286639-avoid-shared-qspec-uint8

Conversation

@bdemirb

@bdemirb bdemirb commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

When preserved uint8 model IO is used, SharedQspecQuantizer can merge image-scale tensors with wider internal activation ranges.

Avoid using cat, concatenate, stack, pixel_shuffle, and slice as fallback shared-qspec bridge ops for graphs with uint8 IO. This keeps normal int8 quantisation behaviour unchanged while preserving image input qparams for uint8 IO flows.

Add a regression test covering image-like uint8 IO joined with a high-range branch.

cc @digantdesai @freddan80 @per @zingo @oscarandersson8218 @mansnils @Sebastian-Larsson @robell @rascani

When preserved uint8 model IO is used, SharedQspecQuantizer can
merge image-scale tensors with wider internal activation ranges.

Avoid using cat, concatenate, stack, pixel_shuffle, and slice as
fallback shared-qspec bridge ops for graphs with uint8 IO. This keeps
normal int8 quantization behaviour unchanged while preserving image
input qparams for uint8 IO flows.

Add a regression test covering image-like uint8 IO joined with a
high-range branch.

Signed-off-by: Baris Demir <baris.demir@arm.com>
Change-Id: Ieeb1cf59e606674ac34050ebe21fc080740cc567
@bdemirb
bdemirb requested a review from digantdesai as a code owner July 16, 2026 13:26
@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/20976

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

❌ 8 New Failures, 1 Cancelled Job, 134 Unrelated Failures, 11 Unclassified Failures

As of commit 5efaa5b with merge base b68c0d0 (image):

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:

  • Labeler / label (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    <!DOCTYPE html>
  • pull / test-coreml-bc-macos (macos-m2-stable) / macos-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/Users/ec2-user/runner/_work/executorch/executorch/test-infra/.github/actions/check-disk-space'. Did you forget to run actions/checkout before running your local action?
  • trunk / test-coreml-delegate / macos-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/Users/runner/work/executorch/executorch/test-infra/.github/actions/check-disk-space'. Did you forget to run actions/checkout before running your local action?
  • trunk / test-huggingface-transformers-macos (bert|coreml_fp32_gpu|--quantize) / macos-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/Users/runner/work/executorch/executorch/test-infra/.github/actions/check-disk-space'. Did you forget to run actions/checkout before running your local action?
  • trunk / test-huggingface-transformers-macos (distilbert|coreml_fp32_gpu|--quantize) / macos-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/Users/runner/work/executorch/executorch/test-infra/.github/actions/check-disk-space'. Did you forget to run actions/checkout before running your local action?
  • trunk / test-huggingface-transformers-macos (llama3.2-1b|coreml_fp32_gpu|--quantize) / macos-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/Users/runner/work/executorch/executorch/test-infra/.github/actions/check-disk-space'. Did you forget to run actions/checkout before running your local action?
  • trunk / test-huggingface-transformers-macos (olmo-1b|coreml_fp32_gpu|--quantize) / macos-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/Users/runner/work/executorch/executorch/test-infra/.github/actions/check-disk-space'. Did you forget to run actions/checkout before running your local action?
  • trunk / test-huggingface-transformers-macos (qwen3-0.6b|coreml_fp32_gpu|--quantize) / macos-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/Users/runner/work/executorch/executorch/test-infra/.github/actions/check-disk-space'. Did you forget to run actions/checkout before running your local action?
  • trunk / test-huggingface-transformers-macos (smollm2-135m|coreml_fp32_gpu|--quantize) / macos-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/Users/runner/work/executorch/executorch/test-infra/.github/actions/check-disk-space'. Did you forget to run actions/checkout before running your local action?
  • trunk / test-multimodal-macos (gemma3-4b) / macos-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under '/Users/runner/work/executorch/executorch/test-infra/.github/actions/check-disk-space'. Did you forget to run actions/checkout before running your local action?
  • Windows MSVC Build / build-windows-msvc / windows-job (gh) (this job did not run on the merge base, so DrCI cannot tell whether the failure is pre-existing)
    Can't find 'action.yml', 'action.yaml' or 'Dockerfile' under 'C:\actions-runner\_work\executorch\executorch\test-infra\.github\actions\teardown-windows'. Did you forget to run actions/checkout before running your local action?

CANCELLED JOB - The following job was cancelled. Please retry:

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

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

1 participant