From 9102cd579030e885a6d296742bfca9caa7fa23c2 Mon Sep 17 00:00:00 2001 From: Brian Van Essen Date: Thu, 10 Jan 2019 17:10:11 -0800 Subject: Updating LBANN and related packages (#10305) Updated LBANN, Hydrogen, and Aluminum to not require CUDA-aware MPI even when using CUDA. Fixed small bugs within both LBANN and Hydrogen packages. Added requirements for breathe and cereal to LBANN. --- var/spack/repos/builtin/packages/aluminum/package.py | 3 +-- var/spack/repos/builtin/packages/hydrogen/package.py | 8 +++----- var/spack/repos/builtin/packages/lbann/package.py | 13 +++++++++---- 3 files changed, 13 insertions(+), 11 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/aluminum/package.py b/var/spack/repos/builtin/packages/aluminum/package.py index 7ed1989629..57b31f974c 100644 --- a/var/spack/repos/builtin/packages/aluminum/package.py +++ b/var/spack/repos/builtin/packages/aluminum/package.py @@ -29,8 +29,7 @@ class Aluminum(CMakePackage): depends_on('cuda', when='+gpu') depends_on('cudnn', when='+gpu') depends_on('cub', when='+gpu') - depends_on('mpi', when='~mpi_cuda') - depends_on('mpi +cuda', when='+mpi_cuda') + depends_on('mpi') depends_on('nccl', when='+nccl') depends_on('hwloc') diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index de067129b6..94379001e1 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -73,14 +73,12 @@ class Hydrogen(CMakePackage): depends_on('netlib-lapack +external-blas', when='blas=essl') depends_on('aluminum@master', when='+al ~cuda') - depends_on('aluminum@master +gpu +mpi-cuda', when='+al +cuda ~nccl') - depends_on('aluminum@master +gpu +nccl +mpi_cuda', when='+al +cuda +nccl') + depends_on('aluminum@master +gpu +mpi_cuda', when='+al +cuda') # Note that this forces us to use OpenBLAS until #1712 is fixed depends_on('lapack', when='blas=openblas ~openmp_blas') - depends_on('mpi', when='~cuda') - depends_on('mpi +cuda', when='+cuda') + depends_on('mpi') depends_on('scalapack', when='+scalapack') depends_on('gmp', when='+mpfr') @@ -154,7 +152,7 @@ class Hydrogen(CMakePackage): if '+al' in spec: args.extend([ '-DHydrogen_ENABLE_ALUMINUM:BOOL=%s' % ('+al' in spec), - '-DHYDROGEN_Aluminum_DIR={0}'.format( + '-DALUMINUM_DIR={0}'.format( spec['aluminum'].prefix)]) return args diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py index 609364dc30..7f20dbe67b 100644 --- a/var/spack/repos/builtin/packages/lbann/package.py +++ b/var/spack/repos/builtin/packages/lbann/package.py @@ -35,9 +35,10 @@ class Lbann(CMakePackage): variant('build_type', default='Release', description='The build type to build', values=('Debug', 'Release')) - variant('al', default=False, description='Builds with support for Aluminum Library') + variant('al', default=True, description='Builds with support for Aluminum Library') variant('conduit', default=False, description='Builds with support for Conduit Library') variant('vtune', default=False, description='Builds with support for Intel VTune') + variant('docs', default=False, description='Builds with support for building documentation') # It seems that there is a need for one statement per version bounds depends_on('hydrogen +openmp_blas +shared +int64', when='@:0.90,0.95: ~al') @@ -64,14 +65,13 @@ class Lbann(CMakePackage): when='build_type=Debug @0.91:0.94') depends_on('aluminum@master', when='@:0.90,0.95: +al ~gpu') - depends_on('aluminum@master +gpu +mpi-cuda', when='@:0.90,0.95: +al +gpu ~nccl') + depends_on('aluminum@master +gpu +mpi_cuda', when='@:0.90,0.95: +al +gpu ~nccl') depends_on('aluminum@master +gpu +nccl +mpi_cuda', when='@:0.90,0.95: +al +gpu +nccl') depends_on('cuda', when='+gpu') depends_on('cudnn', when='+gpu') depends_on('cub', when='+gpu') - depends_on('mpi', when='~gpu') - depends_on('mpi +cuda', when='+gpu') + depends_on('mpi') depends_on('hwloc') # LBANN wraps OpenCV calls in OpenMP parallel loops, build without OpenMP @@ -90,6 +90,11 @@ class Lbann(CMakePackage): depends_on('conduit@master +hdf5', when='+conduit') + depends_on('py-breathe', type='build', when='+docs') + depends_on('py-m2r', type='build', when='+docs') + + depends_on('cereal') + generator = 'Ninja' depends_on('ninja', type='build') -- cgit v1.2.3-70-g09d2