From 14d941a2963bee66f67589687deb1cc917dd9441 Mon Sep 17 00:00:00 2001 From: David Spickett Date: Fri, 10 Jan 2025 14:34:47 +0000 Subject: [PATCH 1/2] Compile for Neoverse N1 on Linaro's AArch64 bots that are on Mt Jade 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. --- buildbot/osuosl/master/config/builders.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/buildbot/osuosl/master/config/builders.py b/buildbot/osuosl/master/config/builders.py index 6f1f252e..65c0a6ab 100644 --- a/buildbot/osuosl/master/config/builders.py +++ b/buildbot/osuosl/master/config/builders.py @@ -393,11 +393,11 @@ useTwoStage=True, runTestSuite=True, testsuite_flags=[ - '--cppflags', '-mcpu=cortex-a57 -fuse-ld=lld', + '--cppflags', '-mcpu=neoverse-n1 -fuse-ld=lld', '--threads=32', '--build-threads=32'], extra_cmake_args=[ - "-DCMAKE_C_FLAGS='-mcpu=cortex-a57'", - "-DCMAKE_CXX_FLAGS='-mcpu=cortex-a57'", + "-DCMAKE_C_FLAGS='-mcpu=neoverse-n1'", + "-DCMAKE_CXX_FLAGS='-mcpu=neoverse-n1'", "-DLLVM_ENABLE_LLD=True"])}, ## AArch64 run test-suite at -O0 (GlobalISel is now default). @@ -452,11 +452,11 @@ 'NO_STOP_MESSAGE':'1', # For Fortran test-suite }, testsuite_flags=[ - '--cppflags', '-mcpu=cortex-a57', + '--cppflags', '-mcpu=neoverse-n1', '--threads=32', '--build-threads=32'], extra_cmake_args=[ - "-DCMAKE_C_FLAGS='-mcpu=cortex-a57'", - "-DCMAKE_CXX_FLAGS='-mcpu=cortex-a57'", + "-DCMAKE_C_FLAGS='-mcpu=neoverse-n1'", + "-DCMAKE_CXX_FLAGS='-mcpu=neoverse-n1'", "-DLLVM_LIT_ARGS='-v'", "-DMLIR_INCLUDE_INTEGRATION_TESTS=True", "-DMLIR_RUN_ARM_SVE_TESTS=True", From 509309756597fa90a04979cefd28317934ce5cda Mon Sep 17 00:00:00 2001 From: David Spickett Date: Tue, 14 Jan 2025 10:03:11 +0000 Subject: [PATCH 2/2] Also update armv8 2 stage --- buildbot/osuosl/master/config/builders.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/buildbot/osuosl/master/config/builders.py b/buildbot/osuosl/master/config/builders.py index 65c0a6ab..67361734 100644 --- a/buildbot/osuosl/master/config/builders.py +++ b/buildbot/osuosl/master/config/builders.py @@ -425,11 +425,11 @@ useTwoStage=True, runTestSuite=True, testsuite_flags=[ - '--cppflags', '-mcpu=cortex-a57 -fuse-ld=lld', + '--cppflags', '-mcpu=neoverse-n1 -fuse-ld=lld', '--threads=32', '--build-threads=32'], extra_cmake_args=[ - "-DCMAKE_C_FLAGS='-mcpu=cortex-a57'", - "-DCMAKE_CXX_FLAGS='-mcpu=cortex-a57'", + "-DCMAKE_C_FLAGS='-mcpu=neoverse-n1'", + "-DCMAKE_CXX_FLAGS='-mcpu=neoverse-n1'", "-DCOMPILER_RT_BUILD_SANITIZERS=OFF", "-DLLVM_ENABLE_LLD=True", # lld tests cause us to hit thread limits