diff --git a/var/spack/repos/builtin/packages/openmpi/nolegacylaunchers.sh b/var/spack/repos/builtin/packages/openmpi/nolegacylaunchers.sh new file mode 100755 index 0000000000000000000000000000000000000000..b6defd69f0d2ddb6dfb76a08f268b06f96de4454 --- /dev/null +++ b/var/spack/repos/builtin/packages/openmpi/nolegacylaunchers.sh @@ -0,0 +1,9 @@ +#!/bin/sh +echo "This version of Spack (openmpi ~legacylaunchers schedulers=slurm) " +echo "is installed without the mpiexec/mpirun commands to prevent " +echo "unintended performance issues. See https://github.com/spack/spack/pull/10340 " +echo "for more details." +echo "If you understand the potential consequences of a misconfigured `mpirun`, you can" +echo "use spack to install `openmpi+legacylaunchers` to restore the executables." +echo "Otherwise, use `srun` to launch your MPI executables." +exit 2 diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py index dd8d31369450ef9763e4c0fed87a94adba1c9e44..bdc1626c0687bcaff8090ce2ab78e0079c8ca00d 100644 --- a/var/spack/repos/builtin/packages/openmpi/package.py +++ b/var/spack/repos/builtin/packages/openmpi/package.py @@ -484,8 +484,12 @@ def delete_mpirun_mpiexec(self): self.prefix.bin.shmemrun, self.prefix.bin.oshrun ] + script_stub = join_path(os.path.dirname(__file__), + "nolegacylaunchers.sh") for exe in exe_list: try: os.remove(exe) except OSError: tty.debug("File not present: " + exe) + else: + copy(script_stub, exe)