From e6ea4c788a862c62a737b0e941bfdc830ffd2ec8 Mon Sep 17 00:00:00 2001 From: psakievich Date: Wed, 16 Feb 2022 05:29:49 -0700 Subject: Trilinos: Add UVM variant (#28949) 13.2+ still supports UVM as an option. --- var/spack/repos/builtin/packages/trilinos/package.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'var') 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), -- cgit v1.2.3-60-g2f50