summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStas Sergienko <ssergien@anl.gov>2019-03-11 20:10:02 -0500
committerPeter Scheibel <scheibel1@llnl.gov>2019-03-11 20:10:02 -0500
commit9ffd508d7c28f3c02e1231a916bc32f23fdf3ac8 (patch)
tree0bbf379e57841c11bdbecd0f0c29def6e03963da
parent888bb7675826bfaba01ed011f9270a0032a3496a (diff)
downloadspack-9ffd508d7c28f3c02e1231a916bc32f23fdf3ac8.tar.gz
spack-9ffd508d7c28f3c02e1231a916bc32f23fdf3ac8.tar.bz2
spack-9ffd508d7c28f3c02e1231a916bc32f23fdf3ac8.tar.xz
spack-9ffd508d7c28f3c02e1231a916bc32f23fdf3ac8.zip
mpich: add psm2 fabric support (#10814)
psm2 is only supported for versions 2.2 and up, so a conflict is added for earlier versions
-rw-r--r--var/spack/repos/builtin/packages/mvapich2/package.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py
index 1c4a91d777..cd9eece7a3 100644
--- a/var/spack/repos/builtin/packages/mvapich2/package.py
+++ b/var/spack/repos/builtin/packages/mvapich2/package.py
@@ -75,8 +75,8 @@ class Mvapich2(AutotoolsPackage):
description='The fabric enabled for this build',
default='psm',
values=(
- 'psm', 'sock', 'nemesisib', 'nemesis', 'mrail', 'nemesisibtcp',
- 'nemesistcpib', 'nemesisofi'
+ 'psm', 'psm2', 'sock', 'nemesisib', 'nemesis', 'mrail',
+ 'nemesisibtcp', 'nemesistcpib', 'nemesisofi'
)
)
@@ -100,12 +100,15 @@ class Mvapich2(AutotoolsPackage):
depends_on('libxml2')
depends_on('cuda', when='+cuda')
depends_on('psm', when='fabrics=psm')
+ depends_on('opa-psm2', when='fabrics=psm2')
depends_on('rdma-core', when='fabrics=mrail')
depends_on('rdma-core', when='fabrics=nemesisib')
depends_on('rdma-core', when='fabrics=nemesistcpib')
depends_on('rdma-core', when='fabrics=nemesisibtcp')
depends_on('libfabric', when='fabrics=nemesisofi')
+ conflicts('fabrics=psm2', when='@:2.1') # psm2 support was added at version 2.2
+
filter_compiler_wrappers(
'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin'
)
@@ -153,6 +156,11 @@ class Mvapich2(AutotoolsPackage):
"--with-device=ch3:psm",
"--with-psm={0}".format(self.spec['psm'].prefix)
]
+ elif 'fabrics=psm2' in self.spec:
+ opts = [
+ "--with-device=ch3:psm",
+ "--with-psm2={0}".format(self.spec['opa-psm2'].prefix)
+ ]
elif 'fabrics=sock' in self.spec:
opts = ["--with-device=ch3:sock"]
elif 'fabrics=nemesistcpib' in self.spec: