diff options
author | Massimiliano Culpo <massimiliano.culpo@googlemail.com> | 2015-11-09 14:35:54 +0100 |
---|---|---|
committer | Massimiliano Culpo <massimiliano.culpo@googlemail.com> | 2015-11-09 16:02:12 +0100 |
commit | 79ed9de4c12ac0decfd8a49cfe17fedb96f9e5af (patch) | |
tree | 4af8d64f9d2a969b514f444bd28a5f64cd0f1438 | |
parent | 0ae05fdf99a8e22b2abb266831b3ea77bbd201b9 (diff) | |
download | spack-79ed9de4c12ac0decfd8a49cfe17fedb96f9e5af.tar.gz spack-79ed9de4c12ac0decfd8a49cfe17fedb96f9e5af.tar.bz2 spack-79ed9de4c12ac0decfd8a49cfe17fedb96f9e5af.tar.xz spack-79ed9de4c12ac0decfd8a49cfe17fedb96f9e5af.zip |
mvapich2 : added variants for different network types
-rw-r--r-- | var/spack/packages/mvapich2/package.py | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/var/spack/packages/mvapich2/package.py b/var/spack/packages/mvapich2/package.py index 3747724915..fb5912fcef 100644 --- a/var/spack/packages/mvapich2/package.py +++ b/var/spack/packages/mvapich2/package.py @@ -29,11 +29,16 @@ class Mvapich2(Package): variant('remshell', default=False, description='Sets remshell as one of the process managers') ########## - # FIXME: those variants are mutually exclusive. A variant enum would fit here. + ########## + # TODO : Network types should be grouped into the same variant, as soon as variant capabilities will be extended variant('psm', default=False, description='Configures a build for QLogic PSM-CH3') variant('sock', default=False, description='Configures a build for TCP/IP-CH3') - # TODO : a lot of network variants are still missing. - # See http://mvapich.cse.ohio-state.edu/static/media/mvapich/mvapich2-2.0-userguide.html + variant('nemesisibtcp', default=False, description='Configures a build for both OFA-IB-Nemesis and TCP/IP-Nemesis') + variant('nemesisib', default=False, description='Configures a build for OFA-IB-Nemesis') + variant('nemesis', default=False, description='Configures a build for TCP/IP-Nemesis') + ########## + + # TODO : CUDA support is missing def set_build_type_flags(self, spec, configure_args): """ @@ -46,7 +51,8 @@ class Mvapich2(Package): build_type_options = [ "--disable-fast", "--enable-error-checking=runtime", - "--enable-error-messages=all" + "--enable-error-messages=all", + "--enable-g=dbg", "--enable-debuginfo" # Permits debugging with TotalView ] else: build_type_options = ["--enable-fast=all"] @@ -92,14 +98,26 @@ class Mvapich2(Package): count += 1 if '+sock' in spec: count += 1 + if '+nemesisibtcp' in spec: + count += 1 + if '+nemesisib' in spec: + count += 1 + if '+nemesis' in spec: + count += 1 if count > 1: - raise RuntimeError('MVAPICH2 variants are mutually exclusive : only one can be selected at a time') + raise RuntimeError('MVAPICH2 network variants are mutually exclusive : only one can be selected at a time') # From here on I can suppose that ony one variant has been selected if '+psm' in spec: network_options = ["--with-device=ch3:psm"] elif '+sock' in spec: network_options = ["--with-device=ch3:sock"] + elif '+nemesisibtcp' in spec: + network_options = ["--with-device=ch3:nemesis:ib,tcp"] + elif '+nemesisib' in spec: + network_options = ["--with-device=ch3:nemesis:ib"] + elif '+nemesis' in spec: + network_options = ["--with-device=ch3:nemesis"] else: network_options = ["--with-device=ch3:mrail", "--with-rdma=gen2"] |