summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/exago/package.py
diff options
context:
space:
mode:
authoreugeneswalker <38933153+eugeneswalker@users.noreply.github.com>2022-04-25 12:48:35 -0700
committerGitHub <noreply@github.com>2022-04-25 19:48:35 +0000
commitb41de6d86bdf7bf1907bd0f8999d2ccda3003f8d (patch)
tree1400c6f19924f5f94c268c133d57a5210c760aba /var/spack/repos/builtin/packages/exago/package.py
parentc72fba7e4c43c61be4367dc2e3f5963d322d855e (diff)
downloadspack-b41de6d86bdf7bf1907bd0f8999d2ccda3003f8d.tar.gz
spack-b41de6d86bdf7bf1907bd0f8999d2ccda3003f8d.tar.bz2
spack-b41de6d86bdf7bf1907bd0f8999d2ccda3003f8d.tar.xz
spack-b41de6d86bdf7bf1907bd0f8999d2ccda3003f8d.zip
exago +cuda, +rocm: pass amdgpu_target, cuda_arch to dependencies, as appropriate (#30259)
* exago +rocm: pass amdgpu_target to raja, hiop dependencies * +cuda builds: pass cuda_arch to dependencies * hiop: pass cuda_arch to dependencies
Diffstat (limited to 'var/spack/repos/builtin/packages/exago/package.py')
-rw-r--r--var/spack/repos/builtin/packages/exago/package.py24
1 files changed, 15 insertions, 9 deletions
diff --git a/var/spack/repos/builtin/packages/exago/package.py b/var/spack/repos/builtin/packages/exago/package.py
index 209ffa4ec6..b7b8091247 100644
--- a/var/spack/repos/builtin/packages/exago/package.py
+++ b/var/spack/repos/builtin/packages/exago/package.py
@@ -47,8 +47,6 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on('cuda', when='+cuda')
depends_on('raja', when='+raja')
- depends_on('raja+cuda', when='+raja+cuda')
- depends_on('raja+rocm', when='+raja+rocm')
depends_on('raja@0.14.0:', when='@1.1.0: +raja')
depends_on('umpire', when='+raja')
depends_on('umpire@6.0.0:', when='@1.1.0: +raja')
@@ -56,11 +54,6 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
# Some allocator code in Umpire only works with static libs
depends_on('umpire+cuda~shared', when='+raja+cuda')
- # For some versions of RAJA package, camp cuda variant does not get set
- # correctly, so we must explicitly depend on it even though we don't use
- # camp
- depends_on('camp+cuda', when='+raja+cuda')
-
depends_on('cmake@3.18:', type='build')
# HiOp dependency logic
@@ -69,8 +62,6 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on('hiop@0.5.1:', when='@1.1.0:+hiop')
depends_on('hiop@0.5.3:', when='@1.3.0:+hiop')
- depends_on('hiop+cuda', when='+hiop+cuda')
- depends_on('hiop+rocm', when='+hiop+rocm')
depends_on('hiop~mpi', when='+hiop~mpi')
depends_on('hiop+mpi', when='+hiop+mpi')
@@ -78,6 +69,21 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
depends_on('petsc@3.16.0:3.16', when='@1.3.0:')
depends_on('petsc~mpi', when='~mpi')
+ for arch in CudaPackage.cuda_arch_values:
+ cuda_dep = "+cuda cuda_arch={0}".format(arch)
+ depends_on("hiop {0}".format(cuda_dep), when=cuda_dep)
+ depends_on("raja {0}".format(cuda_dep), when="+raja {0}".format(cuda_dep))
+
+ # For some versions of RAJA package, camp cuda variant does not get set
+ # correctly, so we must explicitly depend on it even though we don't use
+ # camp
+ depends_on("camp {0}".format(cuda_dep), when="+raja {0}".format(cuda_dep))
+
+ for arch in ROCmPackage.amdgpu_targets:
+ rocm_dep = "+rocm amdgpu_target={0}".format(arch)
+ depends_on("hiop {0}".format(rocm_dep), when=rocm_dep)
+ depends_on("raja {0}".format(rocm_dep), when="+raja {0}".format(rocm_dep))
+
depends_on('ipopt', when='+ipopt')
depends_on('py-mpi4py', when='@1.3.0:+mpi+python')