diff --git a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml index 9b0de81b35..ac9c36fe82 100644 --- a/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/eessi-2023.06-eb-4.9.0-2023a.yml @@ -54,3 +54,4 @@ easyconfigs: from-pr: 20126 - OpenJPEG-2.5.0-GCCcore-12.3.0.eb - OpenFOAM-10-foss-2023a.eb + - Highway-1.0.4-GCCcore-12.3.0.eb diff --git a/eb_hooks.py b/eb_hooks.py index d93ee37067..0221e98b2a 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -20,6 +20,7 @@ from distutils.version import LooseVersion +CPU_TARGET_NEOVERSE_N1 = 'aarch64/neoverse_n1' CPU_TARGET_NEOVERSE_V1 = 'aarch64/neoverse_v1' CPU_TARGET_AARCH64_GENERIC = 'aarch64/generic' @@ -289,6 +290,26 @@ def parse_hook_lammps_remove_deps_for_CI_aarch64(ec, *args, **kwargs): raise EasyBuildError("LAMMPS-specific hook triggered for non-LAMMPS easyconfig?!") +def parse_hook_highway_handle_test_compilation_issues(ec, eprefix): + """ + Solve issues with compiling or running the tests on both + neoverse_n1 and neoverse_v1 with Highway 1.0.4 and GCC 12.3.0: + - for neoverse_n1 we set optarch to GENERIC + - for neoverse_v1 we completely disable the tests + cfr. https://github.com/EESSI/software-layer/issues/469 + """ + if ec.name == 'Highway': + tcname, tcversion = ec['toolchain']['name'], ec['toolchain']['version'] + cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') + if ec.version in ['1.0.4'] and tcname == 'GCCcore' and tcversion == '12.3.0': + if cpu_target == CPU_TARGET_NEOVERSE_V1: + ec.update('configopts', '-DHWY_ENABLE_TESTS=OFF') + if cpu_target == CPU_TARGET_NEOVERSE_N1: + update_build_option('optarch', OPTARCH_GENERIC) + else: + raise EasyBuildError("Highway-specific hook triggered for non-Highway easyconfig?!") + + def pre_configure_hook(self, *args, **kwargs): """Main pre-configure hook: trigger custom functions based on software name.""" if self.name in PRE_CONFIGURE_HOOKS: @@ -608,11 +629,12 @@ def inject_gpu_property(ec): 'casacore': parse_hook_casacore_disable_vectorize, 'CGAL': parse_hook_cgal_toolchainopts_precise, 'fontconfig': parse_hook_fontconfig_add_fonts, + 'Highway': parse_hook_highway_handle_test_compilation_issues, + 'LAMMPS': parse_hook_lammps_remove_deps_for_CI_aarch64, 'OpenBLAS': parse_hook_openblas_relax_lapack_tests_num_errors, 'pybind11': parse_hook_pybind11_replace_catch2, 'Qt5': parse_hook_qt5_check_qtwebengine_disable, 'UCX': parse_hook_ucx_eprefix, - 'LAMMPS': parse_hook_lammps_remove_deps_for_CI_aarch64, } POST_PREPARE_HOOKS = { diff --git a/eessi-2023.06-known-issues.yml b/eessi-2023.06-known-issues.yml index 875757559e..011cb2dc08 100644 --- a/eessi-2023.06-known-issues.yml +++ b/eessi-2023.06-known-issues.yml @@ -3,6 +3,9 @@ - issue: https://github.com/EESSI/software-layer/issues/461 - info: "8 failing tests (out of 209539) on aarch64/*" - aarch64/neoverse_n1: + - Highway-1.0.4-GCCcore-12.3.0.eb: + - issue: https://github.com/EESSI/software-layer/issues/469 + - info: "failing to build the tests" - PyTorch-2.1.2-foss-2023a: - issue: https://github.com/EESSI/software-layer/issues/461 - info: "8 failing tests (out of 209539) on aarch64/*" @@ -19,6 +22,9 @@ - Highway-1.0.3-GCCcore-12.2.0.eb: - issue: https://github.com/EESSI/software-layer/issues/469 - info: "failing SVE test due to wrong expected value" + - Highway-1.0.4-GCCcore-12.3.0.eb: + - issue: https://github.com/EESSI/software-layer/issues/469 + - info: "failing to build the tests" - netCDF-4.9.2-gompi-2023a.eb: - issue: https://github.com/EESSI/software-layer/issues/425 - info: "netCDF intermittent test failures"