summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorTom Scogland <scogland1@llnl.gov>2016-05-06 15:15:40 -0700
committerTom Scogland <scogland1@llnl.gov>2016-05-06 15:15:40 -0700
commit86449790fe66f07239cd552f1ce579bf341bd1f4 (patch)
tree9bc8fa363714d95407d9a38f3900e6da072c2d3e /var
parent407920e40a6af71fd2a83a8245d6a62ab48e4ec8 (diff)
downloadspack-86449790fe66f07239cd552f1ce579bf341bd1f4.tar.gz
spack-86449790fe66f07239cd552f1ce579bf341bd1f4.tar.bz2
spack-86449790fe66f07239cd552f1ce579bf341bd1f4.tar.xz
spack-86449790fe66f07239cd552f1ce579bf341bd1f4.zip
add pmi support and process managers to the MPIs
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/mpich/package.py4
-rw-r--r--var/spack/repos/builtin/packages/openmpi/package.py4
2 files changed, 8 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py
index 5d68f20351..2179086fe5 100644
--- a/var/spack/repos/builtin/packages/mpich/package.py
+++ b/var/spack/repos/builtin/packages/mpich/package.py
@@ -43,6 +43,8 @@ class Mpich(Package):
version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
variant('verbs', default=False, description='Build support for OpenFabrics verbs.')
+ variant('pmi', default=True, description='Build with PMI support')
+ variant('hydra', default=True, description='Build the hydra process manager')
provides('mpi@:3.0', when='@3:')
provides('mpi@:1.3', when='@1:')
@@ -62,6 +64,8 @@ class Mpich(Package):
def install(self, spec, prefix):
config_args = ["--prefix=" + prefix,
+ "--with-pmi=" + ("yes" if '+pmi' in spec else 'no'),
+ "--with-pm=" + ('hydra' if '+hydra' in spec else 'no'),
"--enable-shared"]
# Variants
diff --git a/var/spack/repos/builtin/packages/openmpi/package.py b/var/spack/repos/builtin/packages/openmpi/package.py
index 776fb6eeaa..d0dd2d657f 100644
--- a/var/spack/repos/builtin/packages/openmpi/package.py
+++ b/var/spack/repos/builtin/packages/openmpi/package.py
@@ -26,6 +26,7 @@ class Openmpi(Package):
patch('configure.patch', when="@1.10.0:1.10.1")
variant('psm', default=False, description='Build support for the PSM library.')
+ variant('pmi', default=True, description='Build support for PMI-based launchers')
variant('verbs', default=False, description='Build support for OpenFabrics verbs.')
# TODO : variant support for other schedulers is missing
@@ -67,6 +68,9 @@ class Openmpi(Package):
if '+psm' in spec:
config_args.append("--with-psm")
+ if '+pmi' in spec:
+ config_args.append("--with-pmi") #TODO: let user specify directory when possible
+
if '+verbs' in spec:
# Up through version 1.6, this option was previously named --with-openib
if spec.satisfies('@:1.6'):