summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorpsakievich <psakiev@sandia.gov>2022-02-16 05:29:49 -0700
committerGitHub <noreply@github.com>2022-02-16 07:29:49 -0500
commite6ea4c788a862c62a737b0e941bfdc830ffd2ec8 (patch)
tree8e193078fc6b0973d46a2cb2413da182e3d559dc /var
parent5cd8fc37bad84df7d5eb6f8c74bce456507de810 (diff)
downloadspack-e6ea4c788a862c62a737b0e941bfdc830ffd2ec8.tar.gz
spack-e6ea4c788a862c62a737b0e941bfdc830ffd2ec8.tar.bz2
spack-e6ea4c788a862c62a737b0e941bfdc830ffd2ec8.tar.xz
spack-e6ea4c788a862c62a737b0e941bfdc830ffd2ec8.zip
Trilinos: Add UVM variant (#28949)
13.2+ still supports UVM as an option.
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index 797dce8a92..150e795362 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -77,7 +77,8 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
variant('openmp', default=False, description='Enable OpenMP')
variant('python', default=False, description='Build PyTrilinos wrappers')
variant('shared', default=True, description='Enables the build of shared libraries')
- variant('wrapper', default=False, description="Use nvcc-wrapper for CUDA build")
+ variant('uvm', default=False, when='@13.2: +cuda', description='Turn on UVM for CUDA build')
+ variant('wrapper', default=False, description='Use nvcc-wrapper for CUDA build')
# TPLs (alphabet order)
variant('adios2', default=False, description='Enable ADIOS2')
@@ -285,6 +286,9 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
conflicts('@:13.0.1 +cuda', when='^cuda@11:')
# Build hangs with CUDA 11.6 (see #28439)
conflicts('+cuda +stokhos', when='^cuda@11.6:')
+ # Cuda UVM must be enabled prior to 13.2
+ # See https://github.com/spack/spack/issues/28869
+ conflicts('~uvm', when='@:13.1 +cuda')
# stokhos fails on xl/xl_r
conflicts('+stokhos', when='%xl')
@@ -736,8 +740,7 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
else 'OpenMP'),
])
if '+cuda' in spec:
- # See https://github.com/spack/spack/issues/28869
- use_uvm = (spec.version < Version(13.2))
+ use_uvm = '+uvm' in spec
options.extend([
define_kok_enable('CUDA_UVM', use_uvm),
define_kok_enable('CUDA_LAMBDA', True),