Skip to content
Snippets Groups Projects
Commit 0451c8e5 authored by Nicolas Richart's avatar Nicolas Richart
Browse files

Addapting the mvapich2@2.1: configure options for slurm

parent 1eed2ee9
Branches
Tags
No related merge requests found
...@@ -124,10 +124,19 @@ def set_process_manager(self, spec, configure_args): ...@@ -124,10 +124,19 @@ def set_process_manager(self, spec, configure_args):
raise RuntimeError(" %s : 'slurm' cannot be activated together with other process managers" % self.name) raise RuntimeError(" %s : 'slurm' cannot be activated together with other process managers" % self.name)
process_manager_options = [] process_manager_options = []
# See: http://slurm.schedmd.com/mpi_guide.html#mvapich2
if self.enabled(Mvapich2.SLURM) in spec: if self.enabled(Mvapich2.SLURM) in spec:
process_manager_options = [ if self.version > Version('2.0'):
"--with-pm=slurm" process_manager_options = [
] "--with-pmi=pmi2",
"--with-pm=slurm"
]
else:
process_manager_options = [
"--with-pmi=slurm",
"--with-pm=no"
]
elif has_slurm_incompatible_variants: elif has_slurm_incompatible_variants:
pms = [] pms = []
# The variant name is equal to the process manager name in the configuration options # The variant name is equal to the process manager name in the configuration options
...@@ -164,6 +173,11 @@ def set_network_type(self, spec, configure_args): ...@@ -164,6 +173,11 @@ def set_network_type(self, spec, configure_args):
configure_args.extend(network_options) configure_args.extend(network_options)
def setup_environment(self, spack_env, run_env):
if self.enabled(Mvapich2.SLURM) in self.spec and \
self.version > Version('2.0'):
run_env.set('SLURM_MPI_TYPE', 'pmi2')
def setup_dependent_environment(self, spack_env, run_env, extension_spec): def setup_dependent_environment(self, spack_env, run_env, extension_spec):
spack_env.set('MPICH_CC', spack_cc) spack_env.set('MPICH_CC', spack_cc)
spack_env.set('MPICH_CXX', spack_cxx) spack_env.set('MPICH_CXX', spack_cxx)
...@@ -176,7 +190,7 @@ def setup_dependent_package(self, module, dep_spec): ...@@ -176,7 +190,7 @@ def setup_dependent_package(self, module, dep_spec):
self.spec.mpicxx = join_path(self.prefix.bin, 'mpicxx') self.spec.mpicxx = join_path(self.prefix.bin, 'mpicxx')
self.spec.mpifc = join_path(self.prefix.bin, 'mpif90') self.spec.mpifc = join_path(self.prefix.bin, 'mpif90')
self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77') self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77')
def install(self, spec, prefix): def install(self, spec, prefix):
# we'll set different configure flags depending on our environment # we'll set different configure flags depending on our environment
configure_args = [ configure_args = [
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment