From 5ddccd388e8a5a2cf249709595f549877ef78321 Mon Sep 17 00:00:00 2001 From: sam Date: Fri, 23 Feb 2024 11:44:35 +0100 Subject: [PATCH] add intel compiler flags for zen4 --- lib/vsc/eb_hooks/hooks_hydra.py | 12 +++++++++--- setup.py | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/vsc/eb_hooks/hooks_hydra.py b/lib/vsc/eb_hooks/hooks_hydra.py index b826a9f..63689e1 100644 --- a/lib/vsc/eb_hooks/hooks_hydra.py +++ b/lib/vsc/eb_hooks/hooks_hydra.py @@ -106,11 +106,17 @@ def parse_hook(ec, *args, **kwargs): # pylint: disable=unused-argument # set optarch for intel compilers on AMD nodes local_arch = os.getenv('VSC_ARCH_LOCAL') - if local_arch in ['zen2', 'zen3'] and ec.toolchain.name in ['intel-compilers', 'iimpi', 'iimkl', 'intel']: + optarchs_intel = { + 'zen2': 'march=core-avx2', + # common-avx512 gives test failure for scipy + # see https://github.com/easybuilders/easybuild-easyconfigs/pull/18875 + 'zen4': 'march=rocketlake', + } + if local_arch in optarchs_intel and ec.toolchain.name in ['intel-compilers', 'iimpi', 'iimkl', 'intel']: optarch = ec.toolchain.options.get('optarch') # only set if not set in the easyconfig or if set to default value (i.e. True) if not optarch or optarch is True: - ec.toolchain.options['optarch'] = 'march=core-avx2' + ec.toolchain.options['optarch'] = optarchs_intel[local_arch] ec.log.info(f"[parse hook] Set optarch in parameter toolchainopts: {ec.toolchain.options['optarch']}") @@ -169,7 +175,7 @@ def pre_module_hook(self, *args, **kwargs): # pylint: disable=unused-argument self.cfg.enable_templating = False ########################## - #------- MPI ------------# + # ------ MPI ----------- # ########################## if self.name == 'OpenMPI': diff --git a/setup.py b/setup.py index ad368de..ac3c58f 100755 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ PACKAGE = { - 'version': '1.3.2', + 'version': '1.4.0', 'author': [ad, sm, wp], 'maintainer': [ad, sm, wp], 'setup_requires': [