mvapich: add pmi_version variant, add process_manager=none (#36324)
Co-authored-by: Matt Lieber <lieber.31@osu.edu>
This commit is contained in:
parent
b8735fd1e4
commit
9a93f223d6
@ -59,12 +59,18 @@ class Mvapich(AutotoolsPackage):
|
|||||||
multi=False,
|
multi=False,
|
||||||
description="Number of bits allocated to the rank field (16 or 32)",
|
description="Number of bits allocated to the rank field (16 or 32)",
|
||||||
)
|
)
|
||||||
|
variant(
|
||||||
|
"pmi_version",
|
||||||
|
description="Which pmi version to be used. If using pmi2 add it to your CFLAGS",
|
||||||
|
default="simple",
|
||||||
|
values=("simple", "pmi2"),
|
||||||
|
multi=False,
|
||||||
|
)
|
||||||
|
|
||||||
variant(
|
variant(
|
||||||
"process_managers",
|
"process_managers",
|
||||||
description="List of the process managers to activate",
|
description="List of the process managers to activate",
|
||||||
values=disjoint_sets(("auto",), ("slurm",), ("hydra", "gforker", "remshell"))
|
values=disjoint_sets(("auto",), ("slurm",), ("hydra", "gforker", "remshell"))
|
||||||
.prohibit_empty_set()
|
|
||||||
.with_error("'slurm' or 'auto' cannot be activated along with " "other process managers")
|
.with_error("'slurm' or 'auto' cannot be activated along with " "other process managers")
|
||||||
.with_default("auto")
|
.with_default("auto")
|
||||||
.with_non_feature_values("auto"),
|
.with_non_feature_values("auto"),
|
||||||
@ -102,6 +108,12 @@ class Mvapich(AutotoolsPackage):
|
|||||||
depends_on("slurm", when="process_managers=slurm")
|
depends_on("slurm", when="process_managers=slurm")
|
||||||
depends_on("ucx", when="netmod=ucx")
|
depends_on("ucx", when="netmod=ucx")
|
||||||
|
|
||||||
|
with when("process_managers=slurm"):
|
||||||
|
conflicts("pmi_version=pmi2")
|
||||||
|
|
||||||
|
with when("process_managers=auto"):
|
||||||
|
conflicts("pmi_version=pmi2")
|
||||||
|
|
||||||
filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin")
|
filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -145,6 +157,8 @@ def process_manager_options(self):
|
|||||||
"--with-slurm={0}".format(spec["slurm"].prefix),
|
"--with-slurm={0}".format(spec["slurm"].prefix),
|
||||||
"CFLAGS=-I{0}/include/slurm".format(spec["slurm"].prefix),
|
"CFLAGS=-I{0}/include/slurm".format(spec["slurm"].prefix),
|
||||||
]
|
]
|
||||||
|
if "none" in spec.variants["process_managers"].value:
|
||||||
|
opts = ["--with-pm=none"]
|
||||||
|
|
||||||
return opts
|
return opts
|
||||||
|
|
||||||
@ -260,6 +274,7 @@ def configure_args(self):
|
|||||||
]
|
]
|
||||||
|
|
||||||
args.extend(self.enable_or_disable("alloca"))
|
args.extend(self.enable_or_disable("alloca"))
|
||||||
|
args.append("--with-pmi=" + spec.variants["pmi_version"].value)
|
||||||
|
|
||||||
if "+debug" in self.spec:
|
if "+debug" in self.spec:
|
||||||
args.extend(
|
args.extend(
|
||||||
|
Loading…
Reference in New Issue
Block a user