Skip to content
Snippets Groups Projects
Commit 86449790 authored by Tom Scogland's avatar Tom Scogland
Browse files

add pmi support and process managers to the MPIs

parent 407920e4
Branches
Tags
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