summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas-Ulrich <ulrich@geophysik.uni-muenchen.de>2024-02-22 15:45:20 +0100
committerGitHub <noreply@github.com>2024-02-22 15:45:20 +0100
commit90778873d13cd9e62e3eb72e41b93d8543fcba52 (patch)
tree8ae6c230a7b723bbf336a768faf5faa2eca78f8c
parent1af57e13fb0523a1222bec6f73dcee7a52431377 (diff)
downloadspack-90778873d13cd9e62e3eb72e41b93d8543fcba52.tar.gz
spack-90778873d13cd9e62e3eb72e41b93d8543fcba52.tar.bz2
spack-90778873d13cd9e62e3eb72e41b93d8543fcba52.tar.xz
spack-90778873d13cd9e62e3eb72e41b93d8543fcba52.zip
tandem: update package (#42785)
-rw-r--r--var/spack/repos/builtin/packages/tandem/package.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/var/spack/repos/builtin/packages/tandem/package.py b/var/spack/repos/builtin/packages/tandem/package.py
index f984a5d57d..b9cc617e0e 100644
--- a/var/spack/repos/builtin/packages/tandem/package.py
+++ b/var/spack/repos/builtin/packages/tandem/package.py
@@ -7,7 +7,7 @@
from spack.package import *
-class Tandem(CMakePackage):
+class Tandem(CMakePackage, CudaPackage, ROCmPackage):
"""Tandem is a scientific software for SEAS modelling and for solving Poisson
and linear elasticity problems. It implements the Symmetric Interior Penalty
Galerkin (SIPG) method using unstructured simplicial meshes (triangle meshes
@@ -21,6 +21,9 @@ class Tandem(CMakePackage):
version("main", branch="main", submodules=True)
# we cannot use the tar.gz file because it does not contains submodules
+ version(
+ "1.1.0", tag="v1.1.0", commit="17c42dc9ae0ec519dcc1b5732681b2e4054666f1", submodules=True
+ )
version("1.0", tag="v1.0", commit="eccab10cbdf5842ed9903fac7a023be5e2779f36", submodules=True)
patch("fix_v1.0_compilation.diff", when="@1.0")
@@ -41,6 +44,13 @@ class Tandem(CMakePackage):
variant("libxsmm", default=False, description="Install libxsmm-generator")
depends_on("mpi")
+
+ for var in ["openmpi", "mpich", "mvapich", "mvapich2", "mvapich2-gdr"]:
+ depends_on(f"{var} +cuda", when=f"+cuda ^[virtuals=mpi] {var}")
+
+ for var in ["mpich", "mvapich2-gdr"]:
+ depends_on(f"{var} +rocm", when=f"+rocm ^[virtuals=mpi] {var}")
+
depends_on("parmetis +int64 +shared")
depends_on("metis +int64 +shared")
depends_on("libxsmm@1.17 +generator", when="+libxsmm target=x86_64:")
@@ -50,6 +60,9 @@ class Tandem(CMakePackage):
depends_on("zlib-api")
depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack memalign=32")
depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack +knl", when="target=skylake:")
+ depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack memalign=32 +cuda", when="+cuda")
+ depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack memalign=32 +rocm", when="+rocm")
+
# see https://github.com/TEAR-ERC/tandem/issues/45
conflicts("%intel")