-
Notifications
You must be signed in to change notification settings - Fork 206
use -march=native
rather than -xHost
for Intel oneAPI compilers >= 2025.0
#4782
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
base: develop
Are you sure you want to change the base?
Conversation
-march=native
rather than -xHost
for Intel oneAPI compilers >= 2025.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have been using march=native for intel-2024a, but mostly tested on zen4, where things seem fine. I guess we should build some random crap on icelake nodes and compare the two flags.
I'll ask my colleageus to help try it out.
I tried some miscellenous code from debian language shootout game. fannkuchredux fortran - no difference That test actually becomes better when I don't even specify -march at all (but -xHost is better)
Ugh, why couldn't this just be simple. edit: This was with |
This result is reason enough for me to put this on hold, and keep using |
Just some testing some more, I think the test examples i ran from shootout aren't that great for testing this. Many of them aren't really affected by advanced instructions at all, and when they are, it seems to me that xHost wins. Maybe the -march=... flags are just using llvms optimization passes, while xhost does the "intel specific magic"? They are definitely not doing the same code gen. But to be clear xHost is not viable option on non-intel CPUs (the binaries wont run). I wonder if we could just set this conditionally? I looked for a nice clean way to detect if it's a amd system, but I found nothing useful. |
fixes #4744