Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
24 changes: 23 additions & 1 deletion eb_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -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'

Expand Down Expand Up @@ -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)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yikes, we have to be more careful here...

optarch is a general build option here, which is set for the entire EasyBuild session in which Highway and all missing dependencies are installed, so it's not specific to Highway at all. 🚨

For this particular build, it was fine because all dependencies of Highway were already in place.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We use update_build_option in the hook for numpy too, but we later revert back to the original value (see post_single_extension_numpy).

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:
Expand Down Expand Up @@ -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 = {
Expand Down
6 changes: 6 additions & 0 deletions eessi-2023.06-known-issues.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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/*"
Expand All @@ -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"
Expand Down