diff --git a/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.4-2023a.yml b/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.4-2023a.yml index cdb9698b37..56214ea87f 100644 --- a/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.4-2023a.yml +++ b/easystacks/software.eessi.io/2023.06/a64fx/eessi-2023.06-eb-4.9.4-2023a.yml @@ -45,13 +45,13 @@ easyconfigs: - nsync-1.26.0-GCCcore-12.3.0.eb - RE2-2023-08-01-GCCcore-12.3.0.eb - protobuf-python-4.24.0-GCCcore-12.3.0.eb -## originally built with EB 4.8.2; PR 19268 included since EB 4.9.0 -## - TensorFlow-2.13.0-foss-2023a.eb: -## # patch setup.py for grpcio extension in TensorFlow 2.13.0 easyconfigs to take into account alternate sysroot; -## # see https://github.com/easybuilders/easybuild-easyconfigs/pull/19268 -## options: -## from-pr: 19268 -# - TensorFlow-2.13.0-foss-2023a.eb +# originally built with EB 4.8.2; PR 19268 included since EB 4.9.0 +# - TensorFlow-2.13.0-foss-2023a.eb: +# # patch setup.py for grpcio extension in TensorFlow 2.13.0 easyconfigs to take into account alternate sysroot; +# # see https://github.com/easybuilders/easybuild-easyconfigs/pull/19268 +# options: +# from-pr: 19268 + - TensorFlow-2.13.0-foss-2023a.eb - X11-20230603-GCCcore-12.3.0.eb # originally built with EB 4.8.2; PR 19339 included since EB 4.9.0 # - HarfBuzz-5.3.1-GCCcore-12.3.0.eb: diff --git a/eb_hooks.py b/eb_hooks.py index 4cf4b7a1fb..5f5405c173 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -132,7 +132,13 @@ def post_ready_hook(self, *args, **kwargs): memory_hungry_build_a64fx = cpu_target == CPU_TARGET_A64FX and self.name in ['Qt5', 'ROOT'] if memory_hungry_build or memory_hungry_build_a64fx: parallel = self.cfg['parallel'] - if parallel > 1: + if cpu_target == CPU_TARGET_A64FX and self.name in ['TensorFlow']: + # limit parallelism to 8, builds with 12 and 16 failed on Deucalion + if parallel > 8: + self.cfg['parallel'] = 8 + msg = "limiting parallelism to %s (was %s) for %s on %s to avoid out-of-memory failures during building/testing" + print_msg(msg % (self.cfg['parallel'], parallel, self.name, cpu_target), log=self.log) + elif parallel > 1: self.cfg['parallel'] = parallel // 2 msg = "limiting parallelism to %s (was %s) for %s to avoid out-of-memory failures during building/testing" print_msg(msg % (self.cfg['parallel'], parallel, self.name), log=self.log)