diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/hydrogen/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/hydrogen/package.py | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index ce2621f34c..9a65ea4fe3 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -17,6 +17,7 @@ class Hydrogen(CMakePackage): git = "https://github.com/LLNL/Elemental.git" version('develop', branch='hydrogen') + version('1.0', sha256='d8a97de3133f2c6b6bb4b80d32b4a4cc25eb25e0df4f0cec0f8cb19bf34ece98') version('0.99', 'b678433ab1d498da47acf3dc5e056c23') variant('shared', default=True, @@ -45,6 +46,10 @@ class Hydrogen(CMakePackage): description='Builds with support for GPUs via CUDA and cuDNN') variant('test', default=False, description='Builds test suite') + variant('al', default=False, + description='Builds with Aluminum communication library') + variant('omp_taskloops', default=False, + description='Use OpenMP taskloops instead of parallel for loops.') # Note that #1712 forces us to enumerate the different blas variants depends_on('openblas', when='blas=openblas ~openmp_blas ~int64_blas') @@ -66,6 +71,10 @@ class Hydrogen(CMakePackage): depends_on('essl threads=openmp +ilp64', when='blas=essl +openmp_blas +int64_blas') 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') + # Note that this forces us to use OpenBLAS until #1712 is fixed depends_on('lapack', when='blas=openblas ~openmp_blas') @@ -123,7 +132,7 @@ class Hydrogen(CMakePackage): args.extend([ '-DHydrogen_USE_OpenBLAS:BOOL=%s' % ('blas=openblas' in spec), '-DOpenBLAS_DIR:STRING={0}'.format( - spec['hydrogen'].prefix)]) + spec['openblas'].prefix)]) elif 'blas=mkl' in spec: args.extend([ '-DHydrogen_USE_MKL:BOOL=%s' % ('blas=mkl' in spec)]) @@ -133,4 +142,15 @@ class Hydrogen(CMakePackage): args.extend([ '-DHydrogen_USE_ESSL:BOOL=%s' % ('blas=essl' in spec)]) + if '+omp_taskloops' in spec: + args.extend([ + '-DHydrogen_ENABLE_OMP_TASKLOOP:BOOL=%s' % + ('+omp_taskloops' in spec)]) + + if '+al' in spec: + args.extend([ + '-DHydrogen_ENABLE_ALUMINUM:BOOL=%s' % ('+al' in spec), + '-DHYDROGEN_Aluminum_DIR={0}'.format( + spec['aluminum'].prefix)]) + return args |