Skip to content

Commit 0c1a642

Browse files
Merge pull request #3909 from boegel/openmpi_oversubscription
allow oversubscription in sanity check for OpenMPI-based toolchains
2 parents 77f63e0 + fd2b6a0 commit 0c1a642

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

easybuild/framework/easyblock.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
from distutils.version import LooseVersion
5353

5454
import easybuild.tools.environment as env
55+
import easybuild.tools.toolchain as toolchain
5556
from easybuild.base import fancylogger
5657
from easybuild.framework.easyconfig import EASYCONFIGS_PKG_SUBDIR
5758
from easybuild.framework.easyconfig.easyconfig import ITERATE_OPTIONS, EasyConfig, ActiveMNS, get_easyblock_class
@@ -3363,7 +3364,12 @@ def xs2str(xs):
33633364
if extra_modules:
33643365
self.log.info("Loading extra modules for sanity check: %s", ', '.join(extra_modules))
33653366

3366-
# chdir to installdir (better environment for running tests)
3367+
# allow oversubscription of P processes on C cores (P>C) for software installed on top of Open MPI;
3368+
# this is useful to avoid failing of sanity check commands that involve MPI
3369+
if self.toolchain.mpi_family() and self.toolchain.mpi_family() in toolchain.OPENMPI:
3370+
env.setvar('OMPI_MCA_rmaps_base_oversubscribe', '1')
3371+
3372+
# change to install directory (better environment for running tests)
33673373
if os.path.isdir(self.installdir):
33683374
change_dir(self.installdir)
33693375

0 commit comments

Comments
 (0)