summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorCody Balos <balos1@llnl.gov>2022-04-04 01:12:56 -0700
committerGitHub <noreply@github.com>2022-04-04 10:12:56 +0200
commitd61e54b4c7da6ceaee098447f6d1baa5ee4e1668 (patch)
treee2f3aec0cc37896c9036c02bf3d3d4afbfc7f096 /var
parent443db0b8c33604d8b9f160805f6bc308423c41c6 (diff)
downloadspack-d61e54b4c7da6ceaee098447f6d1baa5ee4e1668.tar.gz
spack-d61e54b4c7da6ceaee098447f6d1baa5ee4e1668.tar.bz2
spack-d61e54b4c7da6ceaee098447f6d1baa5ee4e1668.tar.xz
spack-d61e54b4c7da6ceaee098447f6d1baa5ee4e1668.zip
sundials: add magma variant (#29844)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/sundials/package.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/sundials/package.py b/var/spack/repos/builtin/packages/sundials/package.py
index 758edaafdd..4831d85a88 100644
--- a/var/spack/repos/builtin/packages/sundials/package.py
+++ b/var/spack/repos/builtin/packages/sundials/package.py
@@ -107,6 +107,8 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
description='Enable KLU sparse, direct solver')
variant('petsc', default=False,
description='Enable PETSc interfaces')
+ variant('magma', default=False, when='@5.7.0:',
+ description='Enable MAGMA interface')
variant('superlu-mt', default=False,
description='Enable SuperLU_MT sparse, direct solver')
variant('superlu-dist', default=False,
@@ -206,6 +208,7 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
depends_on('hypre+mpi+int64', when='@5.7.1: +hypre +int64')
depends_on('hypre@:2.22.0+mpi~int64', when='@:5.7.0 +hypre ~int64')
depends_on('hypre@:2.22.0+mpi+int64', when='@:5.7.0 +hypre +int64')
+ depends_on('magma', when='+magma')
depends_on('petsc+mpi', when='+petsc')
depends_on('suite-sparse', when='+klu')
depends_on('superlu-dist@6.1.1:', when='@:5.4.0 +superlu-dist')
@@ -350,6 +353,17 @@ class Sundials(CMakePackage, CudaPackage, ROCmPackage):
args.append(define('LAPACK_LIBRARIES',
spec['lapack'].libs + spec['blas'].libs))
+ # Building with MAGMA
+ if '+magma' in spec:
+ args.extend([
+ define('ENABLE_MAGMA', True),
+ define('MAGMA_DIR', spec['magma'].prefix)
+ ])
+ if '+cuda' in spec:
+ define('SUNDIALS_MAGMA_BACKENDS', 'CUDA')
+ if '+rocm' in spec:
+ define('SUNDIALS_MAGMA_BACKENDS', 'HIP')
+
# Building with PETSc
if '+petsc' in spec:
if spec.version >= Version('5'):