-
Notifications
You must be signed in to change notification settings - Fork 99
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
Compile for Neoverse N1 on Linaro's Armv8 bots that are on Mt Jade hardware #354
base: main
Are you sure you want to change the base?
Conversation
…hardware This reflects the host hardware, rather than the limited subset of features on the Cortex-A57. ``` $ lscpu Architecture: aarch64 CPU op-mode(s): 32-bit, 64-bit <...> Vendor ID: ARM Model name: Neoverse-N1 <...> Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ``` I have also confirmed that the Neoverse V1 (Note: V not N) that is used for Graviton is a superset of these features. https://github.com/aws/aws-graviton-getting-started/blob/main/c-c%2B%2B.md#enabling-arm-architecture-specific-features So if we have to move these builds to Graviton 3 or 4 at short notice, the existing configuration will work.
Requested / inspired by @omjavaid in a previous review. We do have single stage bots on Mt Jade, but we do not set a specific CPU. I tested these settings by doing a 2 stage build including flang and mlir. With check-all and test suite for both stages, found no problems. |
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.
LGTM.
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.
Shouldn't we also update clang-armv8-lld-2stage builder ??
Yes, I was a bit hesitant because the Neoverse N1 isn't a typical AArch32 host, but we have other Armv7 bots with a much earlier CPU setting to cover that side of things. I will just check that there are no new bugs with neoverse-n1 on Armv8. |
Done. There are v7 builds running on Neoverse-N1 but it makes sense to leave them targeting CPUs that are actually v7, even if they are going to ultimately run on Armv8. |
This reflects the host hardware, rather than the limited subset of features on the Cortex-A57.
I have also confirmed that the Neoverse V1 (Note: V not N) that is used for Graviton is a superset of these features.
https://github.com/aws/aws-graviton-getting-started/blob/main/c-c%2B%2B.md#enabling-arm-architecture-specific-features
So if we have to move these builds to Graviton 3 at short notice, this will still work (Graviton 4 also ok for AArch64, but it drops the AArch32 mode).