From df0cc9ee028b27fc136a72bebc3d5665ce8371a9 Mon Sep 17 00:00:00 2001 From: apreifsteck Date: Mon, 1 Feb 2021 21:48:16 -0500 Subject: [PATCH] OSU mvapich2 GDR 2.3.5 package.py update (#21270) Co-authored-by: Massimiliano Culpo Co-authored-by: NOWLAB PACKAGER --- .../builtin/packages/mvapich2-gdr/package.py | 41 ++++++++++++++----- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/var/spack/repos/builtin/packages/mvapich2-gdr/package.py b/var/spack/repos/builtin/packages/mvapich2-gdr/package.py index d83256c78b..c58490d825 100755 --- a/var/spack/repos/builtin/packages/mvapich2-gdr/package.py +++ b/var/spack/repos/builtin/packages/mvapich2-gdr/package.py @@ -17,10 +17,11 @@ class Mvapich2Gdr(AutotoolsPackage): """ homepage = 'http://mvapich.cse.ohio-state.edu' - url = 'http://mvapich.cse.ohio-state.edu/download/mvapich/spack-mirror/mvapich2-gdr/mvapich2-gdr-2.3.4.tar.gz' + url = 'http://mvapich.cse.ohio-state.edu/download/mvapich/spack-mirror/mvapich2-gdr/mvapich2-gdr-2.3.5.tar.gz' - maintainers = ['nithintsk', 'harisubramoni'] + maintainers = ['apreifsteck', 'nithintsk', 'harisubramoni'] + version('2.3.5', sha256='bcfe8197875405af0ddbf6462e585efc21668108bec9b481fe53616ad36a98b4') version('2.3.4', sha256='ed78101e6bb807e979213006ee5f20ff466369b01f96b6d1cf0c471baf7e35aa') version('2.3.3', sha256='9b7b5dd235dbf85099fba3b6f1ccb49bb755923efed66ddc335921f44cb1b8a8') @@ -71,12 +72,29 @@ class Mvapich2Gdr(AutotoolsPackage): default=False ) + variant( + 'cuda', + description='Enable/Disable support for cuda', + default=True + ) + + variant( + 'rocm', + description='Enable/Disable support for ROCM', + default=False + ) + conflicts('+rocm', when='@:2.3.4', msg='MVAPICH2-GDR only supports ROCm in version >= 2.3.5') + conflicts('+cuda +rocm', msg='MVAPICH2-GDR can only be built with either CUDA or ROCm') + conflicts('~cuda ~rocm', msg='MVAPICH2-GDR must be built with either CUDA or ROCm') + depends_on('bison@3.4.2', type='build') depends_on('libpciaccess@0.13.5', when=(sys.platform != 'darwin')) depends_on('libxml2@2.9.10') - depends_on('cuda@9.2.88:10.2.89') + depends_on('cuda@9.2.88:11.1.1', when='+cuda') depends_on('pmix@3.1.3', when='pmi_version=pmix') + depends_on('hip@3.9.0', when='+rocm') + filter_compiler_wrappers( 'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin' ) @@ -108,6 +126,14 @@ def process_manager_options(self): if '+openacc' in spec: opts.append('--enable-openacc') + if '+cuda' in spec: + opts.append('--enable-cuda') + opts.append('--with-cuda={0}'.format(spec['cuda'].prefix)) + + if '+rocm' in spec: + opts.append('--enable-hip=basic') + opts.append('--enable-rocm') + # See: http://slurm.schedmd.com/mpi_guide.html#mvapich2 if 'process_managers=slurm' in spec: opts.append('--with-pm=slurm') @@ -124,12 +150,6 @@ def process_manager_options(self): '--with-pm=hydra', '--with-pbs=/opt/pbs' ]) - if '~mcast' in spec: - opts.append('--disable-mcast') - if '+core_direct' in spec: - opts.append('--with-core-direct') - if '+openacc' in spec: - opts.append('--enable-openacc') elif 'process_managers=jsrun' in spec: opts.append([ @@ -184,8 +204,7 @@ def setup_dependent_package(self, module, dependent_spec): ] def configure_args(self): - args = ['--enable-cuda', - '--disable-hybrid', + args = ['--disable-hybrid', '--with-ch3-rank-bits=32', '--disable-gl', '--without-hydra-ckpointlib',