Skip to content
Snippets Groups Projects
Commit bd63545b authored by Todd Gamblin's avatar Todd Gamblin
Browse files

Merge pull request #913 from trws/mpi-should-have-pmi

add pmi support and process managers to the MPIs
parents e2f390c5 86449790
No related branches found
No related tags found
No related merge requests found
...@@ -43,6 +43,8 @@ class Mpich(Package): ...@@ -43,6 +43,8 @@ class Mpich(Package):
version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0') version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
variant('verbs', default=False, description='Build support for OpenFabrics verbs.') 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@:3.0', when='@3:')
provides('mpi@:1.3', when='@1:') provides('mpi@:1.3', when='@1:')
...@@ -62,6 +64,8 @@ def setup_dependent_package(self, module, dep_spec): ...@@ -62,6 +64,8 @@ def setup_dependent_package(self, module, dep_spec):
def install(self, spec, prefix): def install(self, spec, prefix):
config_args = ["--prefix=" + 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"] "--enable-shared"]
# Variants # Variants
......
...@@ -26,6 +26,7 @@ class Openmpi(Package): ...@@ -26,6 +26,7 @@ class Openmpi(Package):
patch('configure.patch', when="@1.10.0:1.10.1") patch('configure.patch', when="@1.10.0:1.10.1")
variant('psm', default=False, description='Build support for the PSM library.') 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.') variant('verbs', default=False, description='Build support for OpenFabrics verbs.')
# TODO : variant support for other schedulers is missing # TODO : variant support for other schedulers is missing
...@@ -67,6 +68,9 @@ def install(self, spec, prefix): ...@@ -67,6 +68,9 @@ def install(self, spec, prefix):
if '+psm' in spec: if '+psm' in spec:
config_args.append("--with-psm") 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: if '+verbs' in spec:
# Up through version 1.6, this option was previously named --with-openib # Up through version 1.6, this option was previously named --with-openib
if spec.satisfies('@:1.6'): if spec.satisfies('@:1.6'):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment