Skip to content

Commit d2b1e14

Browse files
committed
Detect MPI with Singularity
1 parent 2bd2c8a commit d2b1e14

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

cwltool/singularity.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from .errors import WorkflowException
2929
from .job import ContainerCommandLineJob
3030
from .loghandler import _logger
31+
from .mpi import MPIRequirementName
3132
from .pathmapper import MapperEnt, PathMapper
3233
from .singularity_utils import singularity_supports_userns
3334
from .utils import CWLObjectType, create_tmp_dir, ensure_non_writable, ensure_writable
@@ -593,10 +594,19 @@ def create_runtime(
593594
"singularity",
594595
"--quiet",
595596
"run" if (is_apptainer_1_1_or_newer() or is_version_3_10_or_newer()) else "exec",
596-
"--contain",
597597
"--ipc",
598-
"--cleanenv",
598+
"--contain"
599599
]
600+
mpi_req, is_req = self.builder.get_requirement(MPIRequirementName)
601+
if not mpi_req or not is_req:
602+
runtime.append("--cleanenv")
603+
else:
604+
self.append_volume(
605+
runtime,
606+
runtime_context.create_tmpdir(),
607+
"/dev/shm",
608+
writable=True,
609+
)
600610
if is_apptainer_1_1_or_newer() or is_version_3_10_or_newer():
601611
runtime.append("--no-eval")
602612

0 commit comments

Comments
 (0)