Skip to content

Commit a8cc032

Browse files
committed
Detect MPI with Singularity
1 parent 10cabef commit a8cc032

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
@@ -29,6 +29,7 @@
2929
from .errors import WorkflowException
3030
from .job import ContainerCommandLineJob
3131
from .loghandler import _logger
32+
from .mpi import MPIRequirementName
3233
from .pathmapper import MapperEnt, PathMapper
3334
from .singularity_utils import singularity_supports_userns
3435
from .utils import create_tmp_dir, ensure_non_writable, ensure_writable
@@ -596,10 +597,19 @@ def create_runtime(
596597
"singularity",
597598
"--quiet",
598599
"run" if (is_apptainer_1_1_or_newer() or is_version_3_10_or_newer()) else "exec",
599-
"--contain",
600600
"--ipc",
601-
"--cleanenv",
601+
"--contain",
602602
]
603+
mpi_req, is_req = self.builder.get_requirement(MPIRequirementName)
604+
if not mpi_req or not is_req:
605+
runtime.append("--cleanenv")
606+
else:
607+
self.append_volume(
608+
runtime,
609+
runtime_context.create_tmpdir(),
610+
"/dev/shm",
611+
writable=True,
612+
)
603613
if is_apptainer_1_1_or_newer() or is_version_3_10_or_newer():
604614
runtime.append("--no-eval")
605615

0 commit comments

Comments
 (0)