summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorLoic Hausammann <loikki@users.noreply.github.com>2024-03-24 01:00:38 +0100
committerGitHub <noreply@github.com>2024-03-24 01:00:38 +0100
commit1fd4353289ec58913a4faf70e4851f66767bb623 (patch)
treecfb8a5de22718cc0489639ca2b53c35f449b1691 /var
parentfcb8ed6409b1876686d13a280cf600efd9d09712 (diff)
downloadspack-1fd4353289ec58913a4faf70e4851f66767bb623.tar.gz
spack-1fd4353289ec58913a4faf70e4851f66767bb623.tar.bz2
spack-1fd4353289ec58913a4faf70e4851f66767bb623.tar.xz
spack-1fd4353289ec58913a4faf70e4851f66767bb623.zip
openmpi: Add new variant: romio-filesystem=string (#43265)
Co-authored-by: loikki <loic.hausammann@id.ethz.ch>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 6fb017ae02..a995a271b4 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -499,6 +499,26 @@ class Openmpi(AutotoolsPackage, CudaPackage):
variant("lustre", default=False, description="Lustre filesystem library support")
variant("romio", default=True, when="@:5", description="Enable ROMIO support")
variant("romio", default=False, when="@5:", description="Enable ROMIO support")
+ variant(
+ "romio-filesystem",
+ description="Add the filesystem to romio",
+ values=disjoint_sets(
+ (
+ "daos",
+ "nfs",
+ "ufs",
+ "pvfs2",
+ "testfs",
+ "xfs",
+ "panfs",
+ "lustre",
+ "gpfs",
+ "ime",
+ "quobytefs",
+ )
+ ).with_non_feature_values("none"),
+ )
+
variant("rsh", default=True, description="Enable rsh (openssh) process lifecycle management")
variant(
"orterunprefix",
@@ -1035,9 +1055,14 @@ class Openmpi(AutotoolsPackage, CudaPackage):
elif spec.satisfies("@1.7.4:"):
config_args.extend(["--disable-java", "--disable-mpi-java"])
+ # Romio
if "~romio" in spec:
config_args.append("--disable-io-romio")
+ if not spec.satisfies("romio-filesystem=none"):
+ args = "+".join(spec.variants["romio-filesystem"].value)
+ config_args.append(f"--with-io-romio-flags=--with-file-system={args}")
+
if "+gpfs" in spec:
config_args.append("--with-gpfs")
else: