add pmi support and process managers to the MPIs
This commit is contained in:
parent
407920e40a
commit
86449790fe
2 changed files with 8 additions and 0 deletions
|
@ -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):
|
||||||
|
|
||||||
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):
|
||||||
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):
|
||||||
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'):
|
||||||
|
|
Loading…
Reference in a new issue