summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Van Essen <vanessen1@llnl.gov>2020-12-14 01:14:49 -0800
committerGitHub <noreply@github.com>2020-12-14 10:14:49 +0100
commitb7aea9f3b1a652e95a16b17fe526ec15731af40b (patch)
treee8d08467bede9723064c70f6a4dff70aed8ddf30
parentfc8c07df2f8abaad76778254d3f59026e7594f05 (diff)
downloadspack-b7aea9f3b1a652e95a16b17fe526ec15731af40b.tar.gz
spack-b7aea9f3b1a652e95a16b17fe526ec15731af40b.tar.bz2
spack-b7aea9f3b1a652e95a16b17fe526ec15731af40b.tar.xz
spack-b7aea9f3b1a652e95a16b17fe526ec15731af40b.zip
Propagate cuda_arch downstream from LBANN, Hydrogen and DiHydrogen (#20345)
-rw-r--r--var/spack/repos/builtin/packages/dihydrogen/package.py3
-rw-r--r--var/spack/repos/builtin/packages/hydrogen/package.py5
-rw-r--r--var/spack/repos/builtin/packages/lbann/package.py6
3 files changed, 12 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/dihydrogen/package.py b/var/spack/repos/builtin/packages/dihydrogen/package.py
index 03a3f8f671..b5d92755f6 100644
--- a/var/spack/repos/builtin/packages/dihydrogen/package.py
+++ b/var/spack/repos/builtin/packages/dihydrogen/package.py
@@ -75,6 +75,9 @@ class Dihydrogen(CMakePackage, CudaPackage):
# Add Aluminum variants
depends_on('aluminum +cuda +nccl +ht +cuda_rma', when='+al +cuda')
+ for arch in CudaPackage.cuda_arch_values:
+ depends_on('aluminum cuda_arch=%s' % arch, when='+al +cuda cuda_arch=%s' % arch)
+
depends_on('cuda', when=('+cuda' or '+legacy'))
depends_on('cudnn', when=('+cuda' or '+legacy'))
depends_on('cub', when='^cuda@:10.99')
diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py
index da571027e9..f7333de8a7 100644
--- a/var/spack/repos/builtin/packages/hydrogen/package.py
+++ b/var/spack/repos/builtin/packages/hydrogen/package.py
@@ -53,8 +53,6 @@ class Hydrogen(CMakePackage, CudaPackage):
variant('mpfr', default=False,
description='Support GNU MPFR\'s'
'arbitrary-precision floating-point arithmetic')
- variant('cuda', default=False,
- description='Builds with support for GPUs via CUDA and cuDNN')
variant('test', default=False,
description='Builds test suite')
variant('al', default=False,
@@ -96,6 +94,9 @@ class Hydrogen(CMakePackage, CudaPackage):
# Add Aluminum variants
depends_on('aluminum +cuda +nccl +ht +cuda_rma', when='+al +cuda')
+ for arch in CudaPackage.cuda_arch_values:
+ depends_on('aluminum cuda_arch=%s' % arch, when='+al +cuda cuda_arch=%s' % arch)
+
# Note that this forces us to use OpenBLAS until #1712 is fixed
depends_on('lapack', when='blas=openblas ~openmp_blas')
diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py
index 11c4ed2f1a..4c0c3ef12b 100644
--- a/var/spack/repos/builtin/packages/lbann/package.py
+++ b/var/spack/repos/builtin/packages/lbann/package.py
@@ -101,6 +101,12 @@ class Lbann(CMakePackage, CudaPackage):
depends_on('dihydrogen@:0.0,0.2:', when='@:0.90,0.102: +dihydrogen')
conflicts('~dihydrogen', when='+distconv')
+ for arch in CudaPackage.cuda_arch_values:
+ depends_on('hydrogen cuda_arch=%s' % arch, when='cuda_arch=%s' % arch)
+ depends_on('aluminum cuda_arch=%s' % arch, when='+al +cuda cuda_arch=%s' % arch)
+ depends_on('dihydrogen cuda_arch=%s' % arch, when='+dihydrogen cuda_arch=%s' % arch)
+ depends_on('nccl cuda_arch=%s' % arch, when='+cuda cuda_arch=%s' % arch)
+
depends_on('cudnn', when='@0.90:0.100.99 +cuda')
depends_on('cudnn@8.0.2:', when='@:0.90,0.101: +cuda')
depends_on('cub', when='@0.94:0.98.2 +cuda ^cuda@:10.99')