-
Notifications
You must be signed in to change notification settings - Fork 51
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
[WIP] Add Intel Sapphire Rapids support to archdetect #889
base: 2023.06-software.eessi.io
Are you sure you want to change the base?
[WIP] Add Intel Sapphire Rapids support to archdetect #889
Conversation
Instance
|
Instance
|
I don't see the downside in checking for both, so makes sense as is for me |
init/arch_specs/eessi_arch_x86.spec
Outdated
"x86_64/amd/zen4" "AuthenticAMD" "avx2 fma vaes avx512f avx512ifma" # AMD Genoa, Genoa-X | ||
"x86_64/intel/haswell" "GenuineIntel" "avx2 fma" # Intel Haswell, Broadwell | ||
"x86_64/intel/skylake_avx512" "GenuineIntel" "avx2 fma avx512f avx512bw avx512cd avx512dq avx512vl" # Intel Skylake, Cascade Lake | ||
"x86_64/intel/sapphire_rapids" "GenuineIntel" "avx2 fma avx512f avx512bw avx512cd avx512dq avx512vl avx512_bf16 amx_tile" # Intel Sapphire/Emerald Rapids |
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.
Do we want to change this to sapphirerapids
to be consistent with archspec's naming? It would require a symlink (or complete rebuild...) for the already built packages.
"x86_64/intel/sapphire_rapids" "GenuineIntel" "avx2 fma avx512f avx512bw avx512cd avx512dq avx512vl avx512_bf16 amx_tile" # Intel Sapphire/Emerald Rapids | |
"x86_64/intel/sapphirerapids" "GenuineIntel" "avx2 fma avx512f avx512bw avx512cd avx512dq avx512vl avx512_bf16 amx_tile" # Intel Sapphire/Emerald Rapids |
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.
Ugh... No strong preference, I guess.
A rebuild just to remove a _
is a bit extreme, of course.
A symlink is easy, but less clean.
I'm not sure we should 100% stick to the archspec naming, although that does sort of make sense I guess.
In short: ask others for input here ;)
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 think some of our CI will break if the names don't align...but we also need #485 to make sure archspec
is up to date for architectures
Should not be merged before the stack is complete (I guess?).
Tested on AWS:
I've based the detection on two flags found at https://en.wikipedia.org/wiki/Sapphire_Rapids#CPU. Only using
avx512-bf16
would not work though, as it was apparently also available in Cooper Lake (but not its successor), see https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html. Also usedamx_tile
, which should only be available in Sapphire Rapids and later. Perhaps we could even stick to only that one?