Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Fix Numeric Error in SBGEMM Kernel for NEOVERSEV2 when DYNAMIC_ARCH=1 #5129

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

taoye9
Copy link
Contributor

@taoye9 taoye9 commented Feb 13, 2025

In our previous PR (#5108), we introduced an SBGEMM kernel optimized for NEOVERSEV1 (SVE-256 bit). However, when running on NEOVERSEV2 (SVE-128 bit) under the dynamic architecture setting, the SBGEMM kernel incorrectly falls back to the NEOVERSEV1 implementation due to this line of code. This fallback behavior leads to numeric errors.

This PR addresses the issue by explicitly adding NEOVERSEV2 to DYNAMIC_ARCH, ensuring that the correct SBGEMM kernel is selected for NEOVERSEV2 instead of defaulting to NEOVERSEV1.

… to `NEOVERSEV1` SBGEMM kernel

Signed-off-by: Ye Tao <ye.tao@arm.com>
@taoye9 taoye9 marked this pull request as draft February 13, 2025 11:16
@martin-frbg
Copy link
Collaborator

Ah, did not think of that in time - we'd need to make the V2 a full-fledged TARGET for this to work (parameter assignment and all) which we had initially wanted to avoid in order to keep the total number of DYNAMIC_ARCH configurations (and library size) small

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants