[CPU][ARM] Int8 conv swish fq fusion - #34931
Merged
alvoron merged 32 commits intoAug 3, 2026
Merged
Conversation
Passavee-Losripat
force-pushed
the
int8-conv-swish-fq-fusion
branch
from
March 25, 2026 16:54
25f294b to
c3d0c62
Compare
Passavee-Losripat
force-pushed
the
int8-conv-swish-fq-fusion
branch
from
May 28, 2026 15:00
3ea426d to
d8eb502
Compare
Passavee-Losripat
force-pushed
the
int8-conv-swish-fq-fusion
branch
from
June 29, 2026 17:41
653e0c4 to
fa7be2b
Compare
Passavee-Losripat
force-pushed
the
int8-conv-swish-fq-fusion
branch
from
June 29, 2026 18:04
fa7be2b to
d2b04d6
Compare
Passavee-Losripat
marked this pull request as ready for review
June 29, 2026 18:05
v-Golubev
reviewed
Jul 1, 2026
alvoron
approved these changes
Jul 21, 2026
Contributor
There was a problem hiding this comment.
LGTM
Please fix CI pipelines and rollback ComputeLibrary submodule changes
Do we need to merge the PR as soon as we migrate to ACL with ARM-software/ComputeLibrary#1302 ?
Contributor
Author
Thank you for you review! No, the new ACL behavior only rejects the unsupported combination inside the new i8/i8/f32 path so it won't affect the existing code. Our OpenVINO code would also use fallback path until we later updates to an ACL version containing ACL#1302 as well so each PR could be updated before or after each other. |
v-Golubev
reviewed
Jul 31, 2026
v-Golubev
approved these changes
Jul 31, 2026
Contributor
|
build_jenkins |
v-Golubev
enabled auto-merge
July 31, 2026 10:27
auto-merge was automatically disabled
August 3, 2026 14:00
Head branch was pushed to by a user without write access
3 tasks
alvoron
enabled auto-merge
August 3, 2026 14:21
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Details:
ConvolutionTransformationon ARM by removingCPU_DISABLE_PASS_ARMintransformation_pipeline.cppConvMulAddFQBlockpattern matcher to optionally match an activation node betweenAddandFakeQuantize, enabling recognition ofConv -> Mul -> Add -> Activation -> FQin addition to the existingConv -> Mul -> Add -> FQ. Currently supportsSwishandReluviawrap_type<Swish, Relu>ConvertConvolutionBiasandFallbackUnsupportedLPConvToFP16to retrieve and handle the optional activation anchor without breaking existing patternsACLConvolutionExecutorto accept Activation + FakeQuantize as simultaneous post-ops, replacing the hard single-post-op limit with an iteration loopcanFuse()inconv.cppto allow FakeQuantize fusion after a single Eltwise activation is already fused, enabling the full post-op chain to reach the ACL executorisI8DstF32/isU8DstF32flags anduse_direct_i8_s8_f32/use_direct_u8_u8_f32paths inACLConvolutionExecutorso Conv can output F32 directly, letting the activation run in floating point before FQ requantizesKnown Issues
Tickets:
AI Assistance: