diff options
author | Brian Van Essen <vanessen1@llnl.gov> | 2018-10-18 11:22:17 -0700 |
---|---|---|
committer | Peter Scheibel <scheibel1@llnl.gov> | 2018-10-18 11:22:17 -0700 |
commit | 659d84518597983f884428af100df4a400a202a1 (patch) | |
tree | 818bdf45edcbf135db9eade0334a5f2ea9a276bf /var/spack/repos/builtin/packages/aluminum | |
parent | d1db12e15347567ad23fc6bd6d27b0a415e08691 (diff) | |
download | spack-659d84518597983f884428af100df4a400a202a1.tar.gz spack-659d84518597983f884428af100df4a400a202a1.tar.bz2 spack-659d84518597983f884428af100df4a400a202a1.tar.xz spack-659d84518597983f884428af100df4a400a202a1.zip |
lbann: add aluminum dependency (#9523)
* Added support for the Aluminum library to LBANN and Hydrogen. Also
fixed several bugs in the grouping of dependencies of both packages.
* Updated the conduit package to have the proper dependency on the
python variant.
* Added new versions for NCCL
* Fixed a bug in how Hydrogen set the path for OpenBLAS.
* Added support for conduit in LBANN.
Diffstat (limited to 'var/spack/repos/builtin/packages/aluminum')
-rw-r--r-- | var/spack/repos/builtin/packages/aluminum/package.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/aluminum/package.py b/var/spack/repos/builtin/packages/aluminum/package.py new file mode 100644 index 0000000000..9700988217 --- /dev/null +++ b/var/spack/repos/builtin/packages/aluminum/package.py @@ -0,0 +1,43 @@ +# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack import * + + +class Aluminum(CMakePackage): + """Aluminum provides a generic interface to high-performance + communication libraries, with a focus on allreduce + algorithms. Blocking and non-blocking algorithms and GPU-aware + algorithms are supported. Aluminum also contains custom + implementations of select algorithms to optimize for certain + situations.""" + + homepage = "https://github.com/LLNL/Aluminum" + url = "https://github.com/LLNL/Aluminum/archive/v0.1.tar.gz" + git = "https://github.com/LLNL/Aluminum.git" + + version('master', branch='master') + version('0.1', sha256='3880b736866e439dd94e6a61eeeb5bb2abccebbac82b82d52033bc6c94950bdb') + + variant('gpu', default=False, description='Builds with support for GPUs via CUDA and cuDNN') + variant('nccl', default=False, description='Builds with support for NCCL communication lib') + variant('mpi_cuda', default=False, description='Builds with support for MPI-CUDA enabled library') + + depends_on('cmake@3.9.0:', type='build') + 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('nccl', when='+nccl') + depends_on('hwloc') + + def cmake_args(self): + spec = self.spec + args = [ + '-DALUMINUM_ENABLE_CUDA:BOOL=%s' % ('+gpu' in spec), + '-DALUMINUM_ENABLE_MPI_CUDA:BOOL=%s' % ('+mpi_cuda' in spec), + '-DALUMINUM_ENABLE_NCCL:BOOL=%s' % ('+nccl' in spec)] + return args |