From 6fc4c8ee9676991b02110e81d24f85dbdb992f0e Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 30 Jun 2023 10:04:11 +0200 Subject: [PATCH 1/2] {2023.06}[2021b] FlexiBLAS v3.0.4 (+ OpenBLAS v0.3.18) --- eessi-2023.06-eb-4.7.2-2021b.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/eessi-2023.06-eb-4.7.2-2021b.yml b/eessi-2023.06-eb-4.7.2-2021b.yml index c379896d25..5857bf8977 100644 --- a/eessi-2023.06-eb-4.7.2-2021b.yml +++ b/eessi-2023.06-eb-4.7.2-2021b.yml @@ -8,3 +8,4 @@ easyconfigs: include-easyblocks-from-pr: 2248 - zlib-1.2.11-GCCcore-11.2.0 - OpenMPI-4.1.1-GCC-11.2.0 + - FlexiBLAS-3.0.4-GCC-11.2.0.eb From a2fda19a6bca18fdf204245fc3984777744a3b16 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Wed, 5 Jul 2023 09:10:34 +0200 Subject: [PATCH 2/2] add hook to relax max_failing_lapack_tests_num_errors for OpenBLAS to 300 on aarch64 --- eb_hooks.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index 787e990e75..25cc7bc02a 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -159,6 +159,23 @@ def parse_hook_fontconfig_add_fonts(ec, eprefix): raise EasyBuildError("fontconfig-specific hook triggered for non-fontconfig easyconfig?!") +def parse_hook_openblas_relax_lapack_tests_num_errors(ec, eprefix): + """Relax number of failing numerical LAPACK tests on Arm 64-bit systems.""" + if ec.name == 'OpenBLAS': + # relax maximum number of failed numerical LAPACK tests on Arm 64-bit systems, + # since the default setting of 150 that works well on x86_64 is a bit too strict + cfg_option = 'max_failing_lapack_tests_num_errors' + if get_cpu_architecture() == AARCH64: + orig_value = ec[cfg_option] + ec[cfg_option] = 300 + print_msg("Maximum number of failing LAPACK tests with numerical errors for %s relaxed to %s (was %s)", + ec.name, ec[cfg_option], orig_value) + else: + print_msg("Not changing option %s for %s on non-AARCH64", cfg_option, ec.name) + else: + raise EasyBuildError("OpenBLAS-specific hook triggered for non-OpenBLAS easyconfig?!") + + def parse_hook_ucx_eprefix(ec, eprefix): """Make UCX aware of compatibility layer via additional configuration options.""" if ec.name == 'UCX': @@ -232,6 +249,7 @@ def pre_configure_hook_wrf_aarch64(self, *args, **kwargs): PARSE_HOOKS = { 'CGAL': parse_hook_cgal_toolchainopts_precise, 'fontconfig': parse_hook_fontconfig_add_fonts, + 'OpenBLAS': parse_hook_openblas_relax_lapack_tests_num_errors, 'UCX': parse_hook_ucx_eprefix, }