mvapich2: added version 2.3rc1 + variant to use alloca if available (#7595)
* mvapich2: added version 2.3rc1 + variant to use alloca if available * mvapich2: removed version 1.9 + cleaned recipe
This commit is contained in:
parent
c50628ebdf
commit
79251dde40
2 changed files with 16 additions and 35 deletions
|
@ -1,11 +0,0 @@
|
||||||
--- a/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c 2013-12-10 12:05:44.806417000 -0800
|
|
||||||
+++ b/src/mpi/romio/adio/ad_lustre/ad_lustre_rwcontig.c 2013-12-10 11:53:03.295622000 -0800
|
|
||||||
@@ -8,7 +8,7 @@
|
|
||||||
* Copyright (C) 2008 Sun Microsystems, Lustre group
|
|
||||||
*/
|
|
||||||
|
|
||||||
-#define _XOPEN_SOURCE 600
|
|
||||||
+//#define _XOPEN_SOURCE 600
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <malloc.h>
|
|
||||||
#include "ad_lustre.h"
|
|
|
@ -41,20 +41,16 @@ class Mvapich2(AutotoolsPackage):
|
||||||
url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2.tar.gz"
|
url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.2.tar.gz"
|
||||||
list_url = "http://mvapich.cse.ohio-state.edu/downloads/"
|
list_url = "http://mvapich.cse.ohio-state.edu/downloads/"
|
||||||
|
|
||||||
# Newer alpha release
|
version('2.3rc1', '386d79ae36b2136d203826465ad8b6cc')
|
||||||
version('2.3a', '87c3fbf8a755b53806fa9ecb21453445')
|
version('2.3a', '87c3fbf8a755b53806fa9ecb21453445')
|
||||||
|
|
||||||
# Prefer the latest stable release
|
# Prefer the latest stable release
|
||||||
version('2.2', '939b65ebe5b89a5bc822cdab0f31f96e', preferred=True)
|
version('2.2', '939b65ebe5b89a5bc822cdab0f31f96e', preferred=True)
|
||||||
version('2.1', '0095ceecb19bbb7fb262131cb9c2cdd6')
|
version('2.1', '0095ceecb19bbb7fb262131cb9c2cdd6')
|
||||||
version('2.0', '9fbb68a4111a8b6338e476dc657388b4')
|
version('2.0', '9fbb68a4111a8b6338e476dc657388b4')
|
||||||
version('1.9', '5dc58ed08fd3142c260b70fe297e127c')
|
|
||||||
|
|
||||||
patch('ad_lustre_rwcontig_open_source.patch', when='@1.9')
|
|
||||||
|
|
||||||
provides('mpi')
|
provides('mpi')
|
||||||
provides('mpi@:2.2', when='@1.9') # MVAPICH2-1.9 supports MPI 2.2
|
provides('mpi@:3.0')
|
||||||
provides('mpi@:3.0', when='@2.0:') # MVAPICH2-2.0 supports MPI 3.0
|
|
||||||
|
|
||||||
variant('debug', default=False,
|
variant('debug', default=False,
|
||||||
description='Enable debug info and error messages at run-time')
|
description='Enable debug info and error messages at run-time')
|
||||||
|
@ -103,6 +99,12 @@ class Mvapich2(AutotoolsPackage):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
variant(
|
||||||
|
'alloca',
|
||||||
|
default=False,
|
||||||
|
description='Use alloca to allocate temporary memory if available'
|
||||||
|
)
|
||||||
|
|
||||||
depends_on('bison', type='build')
|
depends_on('bison', type='build')
|
||||||
depends_on('libpciaccess', when=(sys.platform != 'darwin'))
|
depends_on('libpciaccess', when=(sys.platform != 'darwin'))
|
||||||
depends_on('cuda', when='+cuda')
|
depends_on('cuda', when='+cuda')
|
||||||
|
@ -111,13 +113,6 @@ class Mvapich2(AutotoolsPackage):
|
||||||
'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin'
|
'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin'
|
||||||
)
|
)
|
||||||
|
|
||||||
def url_for_version(self, version):
|
|
||||||
base_url = "http://mvapich.cse.ohio-state.edu/download"
|
|
||||||
if version < Version('2.0'):
|
|
||||||
return "%s/mvapich2/mv2/mvapich2-%s.tar.gz" % (base_url, version)
|
|
||||||
else:
|
|
||||||
return "%s/mvapich/mv2/mvapich2-%s.tar.gz" % (base_url, version)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def process_manager_options(self):
|
def process_manager_options(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
|
@ -130,16 +125,10 @@ def process_manager_options(self):
|
||||||
|
|
||||||
# See: http://slurm.schedmd.com/mpi_guide.html#mvapich2
|
# See: http://slurm.schedmd.com/mpi_guide.html#mvapich2
|
||||||
if 'process_managers=slurm' in spec:
|
if 'process_managers=slurm' in spec:
|
||||||
if self.version > Version('2.0'):
|
|
||||||
opts = [
|
opts = [
|
||||||
'--with-pmi=pmi2',
|
'--with-pmi=pmi2',
|
||||||
'--with-pm=slurm'
|
'--with-pm=slurm'
|
||||||
]
|
]
|
||||||
else:
|
|
||||||
opts = [
|
|
||||||
'--with-pmi=slurm',
|
|
||||||
'--with-pm=no'
|
|
||||||
]
|
|
||||||
|
|
||||||
return opts
|
return opts
|
||||||
|
|
||||||
|
@ -165,7 +154,7 @@ def network_options(self):
|
||||||
|
|
||||||
def setup_environment(self, spack_env, run_env):
|
def setup_environment(self, spack_env, run_env):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
if 'process_managers=slurm' in spec and spec.satisfies('@2.0:'):
|
if 'process_managers=slurm' in spec:
|
||||||
run_env.set('SLURM_MPI_TYPE', 'pmi2')
|
run_env.set('SLURM_MPI_TYPE', 'pmi2')
|
||||||
|
|
||||||
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
|
||||||
|
@ -206,12 +195,15 @@ def configure_args(self):
|
||||||
'--enable-shared',
|
'--enable-shared',
|
||||||
'--enable-romio',
|
'--enable-romio',
|
||||||
'-disable-silent-rules',
|
'-disable-silent-rules',
|
||||||
|
'--disable-new-dtags',
|
||||||
'--enable-fortran=all',
|
'--enable-fortran=all',
|
||||||
"--enable-threads={0}".format(spec.variants['threads'].value),
|
"--enable-threads={0}".format(spec.variants['threads'].value),
|
||||||
"--with-ch3-rank-bits={0}".format(
|
"--with-ch3-rank-bits={0}".format(
|
||||||
spec.variants['ch3_rank_bits'].value),
|
spec.variants['ch3_rank_bits'].value),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
args.extend(self.enable_or_disable('alloca'))
|
||||||
|
|
||||||
if '+debug' in self.spec:
|
if '+debug' in self.spec:
|
||||||
args.extend([
|
args.extend([
|
||||||
'--disable-fast',
|
'--disable-fast',
|
||||||
|
|
Loading…
Reference in a new issue