summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAxel Huebl <axel.huebl@plasma.ninja>2021-04-02 12:16:27 -0700
committerGitHub <noreply@github.com>2021-04-02 12:16:27 -0700
commit2dbaf23fcac5c11d5e4e412369a7af39444c90ca (patch)
tree902fd5bddbc74a253b64a5b8ff00ccb2f328c35b /var
parent5a75f7e0d676f70a3da7047ae835a889caaaa387 (diff)
downloadspack-2dbaf23fcac5c11d5e4e412369a7af39444c90ca.tar.gz
spack-2dbaf23fcac5c11d5e4e412369a7af39444c90ca.tar.bz2
spack-2dbaf23fcac5c11d5e4e412369a7af39444c90ca.tar.xz
spack-2dbaf23fcac5c11d5e4e412369a7af39444c90ca.zip
Ascent: CUDA ~shared (#22760)
Add a conflict for CUDA and shared libraries in Ascent. The new concretizer will automatically change the default for Ascent in that case. Until then, dependencies like WarpX need to hint the `~shared` wish explicitly.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/ascent/package.py6
-rw-r--r--var/spack/repos/builtin/packages/warpx/package.py5
2 files changed, 10 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/ascent/package.py b/var/spack/repos/builtin/packages/ascent/package.py
index ba04001026..4300a8246b 100644
--- a/var/spack/repos/builtin/packages/ascent/package.py
+++ b/var/spack/repos/builtin/packages/ascent/package.py
@@ -166,6 +166,12 @@ class Ascent(Package, CudaPackage):
depends_on("py-sphinx", when="+python+doc", type='build')
depends_on("py-sphinx-rtd-theme", when="+python+doc", type='build')
+ ###########
+ # Conflicts
+ ###########
+ conflicts("+shared", when="+cuda",
+ msg="Ascent needs to be built with ~shared for CUDA builds.")
+
def setup_build_environment(self, env):
env.set('CTEST_OUTPUT_ON_FAILURE', '1')
diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py
index caac5c1b14..1d3a081dfc 100644
--- a/var/spack/repos/builtin/packages/warpx/package.py
+++ b/var/spack/repos/builtin/packages/warpx/package.py
@@ -66,7 +66,10 @@ class Warpx(CMakePackage):
description='Enable tiny profiling features')
depends_on('ascent', when='+ascent')
- depends_on('ascent +cuda', when='+ascent compute=cuda')
+ # note: ~shared is only needed until the new concretizer is in and
+ # honors the conflict inside the Ascent package to find this
+ # automatically
+ depends_on('ascent +cuda ~shared', when='+ascent compute=cuda')
depends_on('ascent +mpi', when='+ascent +mpi')
depends_on('blaspp', when='+psatd dims=rz')
depends_on('blaspp +cuda', when='+psatd dims=rz compute=cuda')