summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGurkirat Singh <tbhaxor@gmail.com>2023-06-24 14:10:43 +0530
committerGitHub <noreply@github.com>2023-06-24 10:40:43 +0200
commitd99892e490da68be4c4114f4eaf482d508f79961 (patch)
treeeb48386ad19ba3ac551e1e5c855f868f981f569e
parent09d9b48957fb7adae92674c04916f4081cb8a257 (diff)
downloadspack-d99892e490da68be4c4114f4eaf482d508f79961.tar.gz
spack-d99892e490da68be4c4114f4eaf482d508f79961.tar.bz2
spack-d99892e490da68be4c4114f4eaf482d508f79961.tar.xz
spack-d99892e490da68be4c4114f4eaf482d508f79961.zip
Fixes openmpi configure args for multinode execution on slurm (#38403)
Remove `--enable-mca-no-build=btl-uct` check for ucx spec as it is already fixed in the openmpi open-mpi/ompi#6666
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 89cd303f94..e4fb370d2d 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -494,6 +494,7 @@ class Openmpi(AutotoolsPackage, CudaPackage):
)
# Variants to use internal packages
variant("internal-hwloc", default=False, description="Use internal hwloc")
+ variant("internal-pmix", default=False, description="Use internal pmix")
provides("mpi")
provides("mpi@:2.2", when="@1.6.5")
@@ -552,9 +553,9 @@ class Openmpi(AutotoolsPackage, CudaPackage):
# OpenMPI @2: includes a vendored version:
# depends_on('pmix@1.1.2', when='@2.1.6')
# depends_on('pmix@3.2.3', when='@4.1.2')
- depends_on("pmix@1.0:1", when="@2.0:2")
- depends_on("pmix@3.2:", when="@4.0:4")
- depends_on("pmix@4.2:", when="@5.0:5")
+ depends_on("pmix@1.0:1", when="@2.0:2 ~internal-pmix")
+ depends_on("pmix@3.2:", when="@4.0:4 ~internal-pmix")
+ depends_on("pmix@4.2:", when="@5.0:5 ~internal-pmix")
# Libevent is required when *vendored* PMIx is used
depends_on("libevent@2:", when="@main")
@@ -959,13 +960,22 @@ class Openmpi(AutotoolsPackage, CudaPackage):
config_args.extend(["--enable-debug"])
# Package dependencies
- for dep in ["libevent", "lustre", "pmix", "singularity", "valgrind", "zlib"]:
+ for dep in ["libevent", "lustre", "singularity", "valgrind", "zlib"]:
if "^" + dep in spec:
config_args.append("--with-{0}={1}".format(dep, spec[dep].prefix))
+ # PMIx support
+ if spec.satisfies("+internal-pmix"):
+ config_args.append("--with-pmix=internal")
+ elif "^pmix" in spec:
+ config_args.append("--with-pmix={0}".format(spec["pmix"].prefix))
+
# Hwloc support
- if "^hwloc" in spec:
+ if spec.satisfies("+internal-hwloc"):
+ config_args.append("--with-hwloc=internal")
+ elif "^hwloc" in spec:
config_args.append("--with-hwloc=" + spec["hwloc"].prefix)
+
# Java support
if "+java" in spec:
config_args.extend(