CI: Run 128-bit SVE tests natively on dedicated ARM runner 128-bit SVE matches native ARMv9 hardware (Neoverse V2 / Google Axion) and can execute directly in silicon on our dedicated ARM runner. - In ci/build.linux.gitlab-ci.yml, remove CMAKE_CROSSCOMPILING_EMULATOR from build:linux:cross:sve:gcc-13:vl128 so CTest does not prefix test targets with qemu-aarch64. - In ci/test.linux.gitlab-ci.yml, update .test:linux:sve:vl128 to extend .test:linux directly (dropping QEMU TCG timeout overrides and test exclusions), install native g++-13, and target tags [eigen-runner, linux, aarch64, sve]. - Retain synthetic 256-bit and 512-bit vector length tests under QEMU on SaaS runners.
diff --git a/ci/build.linux.gitlab-ci.yml b/ci/build.linux.gitlab-ci.yml index cb88827..6949462 100644 --- a/ci/build.linux.gitlab-ci.yml +++ b/ci/build.linux.gitlab-ci.yml
@@ -667,6 +667,8 @@ # architecturally legal but unimplemented, and compile-only coverage of them # bought two latent compile fixes at the cost of running nothing -- if a wider # part ships, add it here with a test job rather than as a build on its own. +# 128-bit SVE matches native ARMv9 hardware (Neoverse V2 / Axion) and runs natively +# on our ARM runner without QEMU emulation. build:linux:cross:sve:gcc-13:vl128: extends: .build:linux:cross:sve:gcc-13 variables: @@ -674,7 +676,6 @@ -DEIGEN_TEST_SVE=ON -DEIGEN_TEST_SVE_VL=128 -DEIGEN_TEST_CUSTOM_CXX_FLAGS=-march=armv8.2-a+sve - -DCMAKE_CROSSCOMPILING_EMULATOR=qemu-aarch64;-L;/usr/aarch64-linux-gnu build:linux:cross:sve:gcc-13:vl512: extends: .build:linux:cross:sve:gcc-13
diff --git a/ci/test.linux.gitlab-ci.yml b/ci/test.linux.gitlab-ci.yml index 1ed3530..fe6c6e2 100644 --- a/ci/test.linux.gitlab-ci.yml +++ b/ci/test.linux.gitlab-ci.yml
@@ -603,11 +603,20 @@ # job would silently run at the wrong width and pass against packet types built # for another. The sve_vector_length test compares RDVL against # EIGEN_ARM64_SVE_VL and fails if this is ever wrong. +# 128-bit SVE matches native ARMv9 hardware (Neoverse V2 / Axion) and runs natively +# on our dedicated ARM runner with zero QEMU emulation. .test:linux:sve:vl128: - extends: .test:linux:sve + extends: .test:linux needs: [ build:linux:cross:sve:gcc-13:vl128 ] variables: - QEMU_CPU: max,sve128=on,sve-default-vector-length=16 + EIGEN_CI_TARGET_ARCH: aarch64 + EIGEN_CI_CROSS_TARGET_TRIPLE: aarch64-linux-gnu + EIGEN_CI_INSTALL: g++-13 + tags: + - eigen-runner + - linux + - aarch64 + - sve .test:linux:sve:vl256: extends: .test:linux:sve