Skip to content
Snippets Groups Projects
Commit 9102cd57 authored by Brian Van Essen's avatar Brian Van Essen Committed by Peter Scheibel
Browse files

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.
parent 08c4b9d4
No related branches found
No related tags found
No related merge requests found
......@@ -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')
......
......@@ -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 @@ def cmake_args(self):
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
......@@ -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')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment