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.
This commit is contained in:
parent
08c4b9d47a
commit
9102cd5790
@ -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')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user