Skip to content

Conversation

@georgen117
Copy link
Contributor

This fixes issue that brgemm will return unsupported when a post op results in a u8 or s8 data type for float16 and bfloat16 brgemm calculations.

This issue was reported in responce to earlyer fix that was published to catch unsupported data types.

The added check did not account for the fact that post ops could result in the destination data type being u8 or s8.

u8 and s8 has been added as a valid destination data type for float16 and bfloat16 brgemm operations. Only bf16 models are known to be affected by this issue.

this was validatated using the sde and following benchdnn tests.

benchdnn --brgemm --dt=bf16:bf16:u8 --attr-scales=dst:common:0.05 32x32:32x32
benchdnn --brgemm --dt=bf16:bf16:s8 --attr-scales=dst:common:0.05 32x32:32x32
benchdnn --brgemm --dt=f16:f16:u8 --attr-scales=dst:common:0.05 32x32:32x32
benchdnn --brgemm --dt=f16:f16:s8 --attr-scales=dst:common:0.05 32x32:32x32

this should resolve an issue reported by the OpenVINO team related to post-step affecting some known models.

see PR#3887 to see original fix for MFDNN-13836

This fixes issue that brgemm will return unsupported when
a post op results in a u8 or s8 data type for float16 and bfloat16
brgemm calculations.
@georgen117 georgen117 requested a review from a team as a code owner January 6, 2026 19:07
@github-actions github-actions bot added the platform:cpu-x64 Intel64/AMD64 processors. Codeowner: @oneapi-src/onednn-cpu-x64 label Jan 6, 2026
@georgen117
Copy link
Contributor Author

make test

Copy link
Contributor

@dzarukin dzarukin left a comment

Choose a reason for hiding this comment

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

Please add test cases to brgemm driver in benchdnn to verify it's passing.

@azhai219
Copy link

azhai219 commented Jan 7, 2026

@georgen117 Could you help backport to rls-v3.10? OpenVINO CPU's target is rls-v3.10. Thank you very much.

@georgen117
Copy link
Contributor Author

@georgen117 Could you help backport to rls-v3.10? OpenVINO CPU's target is rls-v3.10. Thank you very much.

done: #4504

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

platform:cpu-x64 Intel64/AMD64 processors. Codeowner: @oneapi-src/onednn-cpu-x64

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants