Hydrogen: update dependency on aluminum (#14760)

* Hydrogen now depends on `aluminum +nccl` vs. `aluminum +mpi_cuda`
* Hydrogen: Simplify Mac OS OpenMP-detection logic
* Aluminum: Add Mac OS OpenMP-detection logic
* LBANN: depend on conduit@0.4.0: instead of conduit@master
This commit is contained in:
Brian Van Essen 2020-02-10 12:13:47 -08:00 committed by GitHub
parent 357786ce6b
commit 490508d324
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 11 deletions

View File

@ -3,6 +3,7 @@
# #
# SPDX-License-Identifier: (Apache-2.0 OR MIT) # SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os
from spack import * from spack import *
@ -45,4 +46,13 @@ def cmake_args(self):
'-DALUMINUM_ENABLE_CUDA:BOOL=%s' % ('+gpu' in spec), '-DALUMINUM_ENABLE_CUDA:BOOL=%s' % ('+gpu' in spec),
'-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' % ('+mpi_cuda' in spec), '-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' % ('+mpi_cuda' in spec),
'-DALUMINUM_ENABLE_NCCL:BOOL=%s' % ('+nccl' in spec)] '-DALUMINUM_ENABLE_NCCL:BOOL=%s' % ('+nccl' in spec)]
# Add support for OS X to find OpenMP
if (self.spec.satisfies('%clang platform=darwin')):
clang = self.compiler.cc
clang_bin = os.path.dirname(clang)
clang_root = os.path.dirname(clang_bin)
args.extend([
'-DOpenMP_DIR={0}'.format(clang_root)])
return args return args

View File

@ -4,7 +4,6 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT) # SPDX-License-Identifier: (Apache-2.0 OR MIT)
import os import os
import sys
from spack import * from spack import *
@ -83,7 +82,7 @@ class Hydrogen(CMakePackage):
depends_on('netlib-lapack +external-blas', when='blas=essl') depends_on('netlib-lapack +external-blas', when='blas=essl')
depends_on('aluminum', when='+al ~cuda') depends_on('aluminum', when='+al ~cuda')
depends_on('aluminum +gpu +mpi_cuda', when='+al +cuda') depends_on('aluminum +gpu +nccl', when='+al +cuda')
# Note that this forces us to use OpenBLAS until #1712 is fixed # Note that this forces us to use OpenBLAS until #1712 is fixed
depends_on('lapack', when='blas=openblas ~openmp_blas') depends_on('lapack', when='blas=openblas ~openmp_blas')
@ -135,13 +134,12 @@ def cmake_args(self):
] ]
# Add support for OS X to find OpenMP # Add support for OS X to find OpenMP
if (self.spec.satisfies('%clang')): if (self.spec.satisfies('%clang platform=darwin')):
if (sys.platform == 'darwin'): clang = self.compiler.cc
clang = self.compiler.cc clang_bin = os.path.dirname(clang)
clang_bin = os.path.dirname(clang) clang_root = os.path.dirname(clang_bin)
clang_root = os.path.dirname(clang_bin) args.extend([
args.extend([ '-DOpenMP_DIR={0}'.format(clang_root)])
'-DOpenMP_DIR={0}'.format(clang_root)])
if 'blas=openblas' in spec: if 'blas=openblas' in spec:
args.extend([ args.extend([

View File

@ -100,8 +100,8 @@ class Lbann(CMakePackage):
depends_on('cnpy') depends_on('cnpy')
depends_on('nccl', when='@0.94:0.98.2 +gpu +nccl') depends_on('nccl', when='@0.94:0.98.2 +gpu +nccl')
depends_on('conduit@master +hdf5', when='@0.94:0.99 +conduit') depends_on('conduit@0.4.0: +hdf5', when='@0.94:0.99 +conduit')
depends_on('conduit@master +hdf5', when='@:0.90,0.99:') depends_on('conduit@0.4.0: +hdf5', when='@:0.90,0.99:')
depends_on('python@3: +shared', type=('build', 'run'), when='@:0.90,0.99:') depends_on('python@3: +shared', type=('build', 'run'), when='@:0.90,0.99:')
extends("python") extends("python")