From cbedafef9f104540151ca9093bc2e95b178036b3 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 4 Jul 2024 21:07:39 +0200 Subject: [PATCH 1/4] {2023.06,a64fx}[foss/2023a] ParaView 5.11.2 --- .../2023.06/a64fx/eessi-2023.06-eb-4.9.2-2023a.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.2-2023a.yml b/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.2-2023a.yml index 3fe1e43d3f..5521b92398 100644 --- a/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.2-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.2-2023a.yml @@ -3,3 +3,4 @@ easyconfigs: - foss-2023a.eb - SciPy-bundle-2023.07-gfbf-2023a.eb - ESPResSo-4.2.2-foss-2023a.eb + - ParaView-5.11.2-foss-2023a.eb From c97dd7ed8e9d7cc23436927f4dfff00fae93d623 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 4 Jul 2024 21:58:10 +0200 Subject: [PATCH 2/4] add missing /cvmfs/ in $EESSI_CVMFS_REPO_OVERRIDE defined by bot/build.sh and bot/test.sh --- bot/build.sh | 2 +- bot/test.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bot/build.sh b/bot/build.sh index c9a362fdca..145be740d3 100755 --- a/bot/build.sh +++ b/bot/build.sh @@ -138,7 +138,7 @@ echo "bot/build.sh: EESSI_VERSION_OVERRIDE='${EESSI_VERSION_OVERRIDE}'" # determine CVMFS repo to be used from .repository.repo_name in ${JOB_CFG_FILE} # here, just set EESSI_CVMFS_REPO_OVERRIDE, a bit further down # "source init/eessi_defaults" via sourcing init/minimal_eessi_env -export EESSI_CVMFS_REPO_OVERRIDE=$(cfg_get_value "repository" "repo_name") +export EESSI_CVMFS_REPO_OVERRIDE=/cvmfs/$(cfg_get_value "repository" "repo_name") echo "bot/build.sh: EESSI_CVMFS_REPO_OVERRIDE='${EESSI_CVMFS_REPO_OVERRIDE}'" # determine architecture to be used from entry .architecture in ${JOB_CFG_FILE} diff --git a/bot/test.sh b/bot/test.sh index 04bff346cd..d3f3630ea8 100755 --- a/bot/test.sh +++ b/bot/test.sh @@ -160,7 +160,7 @@ echo "bot/test.sh: EESSI_PILOT_VERSION_OVERRIDE='${EESSI_PILOT_VERSION_OVERRIDE} # determine CVMFS repo to be used from .repository.repo_name in ${JOB_CFG_FILE} # here, just set EESSI_CVMFS_REPO_OVERRIDE, a bit further down # "source init/eessi_defaults" via sourcing init/minimal_eessi_env -export EESSI_CVMFS_REPO_OVERRIDE=$(cfg_get_value "repository" "repo_name") +export EESSI_CVMFS_REPO_OVERRIDE=/cvmfs/$(cfg_get_value "repository" "repo_name") echo "bot/test.sh: EESSI_CVMFS_REPO_OVERRIDE='${EESSI_CVMFS_REPO_OVERRIDE}'" # determine architecture to be used from entry .architecture in ${JOB_CFG_FILE} From 3fc6cdc1558e21005470e815adeb3f8620ec53e8 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Fri, 5 Jul 2024 08:18:27 +0200 Subject: [PATCH 3/4] reduce parallellism when building Qt5 on A64FX systems, due to scarce memory --- eb_hooks.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index e6f0cf0dd2..40071ea067 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -81,8 +81,11 @@ def post_ready_hook(self, *args, **kwargs): """ # 'parallel' easyconfig parameter is set via EasyBlock.set_parallel in ready step based on available cores. # here we reduce parallellism to only use half of that for selected software, - # to avoid failing builds/tests due to out-of-memory problems - if self.name in ['TensorFlow', 'libxc']: + # to avoid failing builds/tests due to out-of-memory problems; + memory_hungry_build = self.name in ['libxc', 'TensorFlow'] + # on A64FX systems, (HBM) memory is typically scarce, so we need to use fewer cores for some builds + memory_hungry_build_a64fx = self.name in ['Qt5'] + if memory_hungry_build or memory_hungry_build_a64fx: parallel = self.cfg['parallel'] if parallel > 1: self.cfg['parallel'] = parallel // 2 From b07445e75cb874fb87003df1d92a5ba879deac4c Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sun, 7 Jul 2024 21:56:20 +0200 Subject: [PATCH 4/4] only use half the cores for Qt5 when building for A64FX --- eb_hooks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index 40071ea067..3b381e5963 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -84,7 +84,8 @@ def post_ready_hook(self, *args, **kwargs): # to avoid failing builds/tests due to out-of-memory problems; memory_hungry_build = self.name in ['libxc', 'TensorFlow'] # on A64FX systems, (HBM) memory is typically scarce, so we need to use fewer cores for some builds - memory_hungry_build_a64fx = self.name in ['Qt5'] + cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR') + memory_hungry_build_a64fx = cpu_target == CPU_TARGET_A64FX and self.name in ['Qt5'] if memory_hungry_build or memory_hungry_build_a64fx: parallel = self.cfg['parallel'] if parallel > 1: