Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add SVE/SVE2 support for ARMv8/ARMv9 #5510

Closed
wants to merge 3 commits into from

Conversation

MinetaS
Copy link
Contributor

@MinetaS MinetaS commented Jul 21, 2024

No functional change

vondele and others added 2 commits July 19, 2024 13:57
@vondele
Copy link
Member

vondele commented Jul 22, 2024

can confirm this compiles cleanly on ARMv9, with correct bench.

I'll be able to look at performance in a couple of days, first quick testing seems neutral.

@MinetaS
Copy link
Contributor Author

MinetaS commented Jul 22, 2024

Here is the progress note:

  • SVE 2.0 performs worse than SVE 1.0 for unknown reasons
  • SVE with 128-bit length registers performs worse than Neon (~1% slowdown, both GCC and Clang)
  • Clang is terrible at optimizing SVE code (could have been my mistake, but gcc was ok)

Other remaining changes are trivial and the number below is likely similar to what final version will bring out.

Tested on AWS EC2 c7g.medium (Graviton3, ARM Neoverse V1)

GCC 14.0.1

 speedup        = +0.0333
P(speedup > 0) =  1.0000

Clang 18.1.3

speedup        = -0.0534
P(speedup > 0) =  0.0000

@MinetaS
Copy link
Contributor Author

MinetaS commented Aug 19, 2024

Closing, will be introduced later on top of #5543.

@MinetaS MinetaS closed this Aug 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants