summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/aluminum
diff options
context:
space:
mode:
authorBrian Van Essen <vanessen1@llnl.gov>2018-10-18 11:22:17 -0700
committerPeter Scheibel <scheibel1@llnl.gov>2018-10-18 11:22:17 -0700
commit659d84518597983f884428af100df4a400a202a1 (patch)
tree818bdf45edcbf135db9eade0334a5f2ea9a276bf /var/spack/repos/builtin/packages/aluminum
parentd1db12e15347567ad23fc6bd6d27b0a415e08691 (diff)
downloadspack-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.py43
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