summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorThomas-Ulrich <ulrich@geophysik.uni-muenchen.de>2023-08-25 16:03:53 +0200
committerGitHub <noreply@github.com>2023-08-25 09:03:53 -0500
commitecfd9ef12bc4bf39ff92df01921c8f641b54e43e (patch)
treed8f417c507a4e5a4465ccb2e7775418719575da0 /var
parent450235165955ebd939c1d25d98776e52ec5d620c (diff)
downloadspack-ecfd9ef12bc4bf39ff92df01921c8f641b54e43e.tar.gz
spack-ecfd9ef12bc4bf39ff92df01921c8f641b54e43e.tar.bz2
spack-ecfd9ef12bc4bf39ff92df01921c8f641b54e43e.tar.xz
spack-ecfd9ef12bc4bf39ff92df01921c8f641b54e43e.zip
add memalign option to petsc to be used with tandem (#37282)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/petsc/package.py11
-rw-r--r--var/spack/repos/builtin/packages/tandem/package.py4
2 files changed, 13 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/petsc/package.py b/var/spack/repos/builtin/packages/petsc/package.py
index 61acffb77c..498a3723f9 100644
--- a/var/spack/repos/builtin/packages/petsc/package.py
+++ b/var/spack/repos/builtin/packages/petsc/package.py
@@ -139,6 +139,13 @@ class Petsc(Package, CudaPackage, ROCmPackage):
)
variant("cgns", default=False, description="Activates support for CGNS (only parallel)")
variant("memkind", default=False, description="Activates support for Memkind")
+ variant(
+ "memalign",
+ default="none",
+ description="Specify alignment of allocated arrays",
+ values=("4", "8", "16", "32", "64", "none"),
+ multi=False,
+ )
variant("p4est", default=False, description="Activates support for P4Est (only parallel)")
variant("saws", default=False, description="Activates support for Saws")
variant("libyaml", default=False, description="Activates support for YAML")
@@ -413,6 +420,10 @@ class Petsc(Package, CudaPackage, ROCmPackage):
if "+knl" in spec:
options.append("--with-avx-512-kernels")
options.append("--with-memalign=64")
+ elif self.spec.variants["memalign"].value != "none":
+ alignement = self.spec.variants["memalign"].value
+ options.append(f"--with-memalign={alignement}")
+
if "+X" in spec:
options.append("--with-x=1")
else:
diff --git a/var/spack/repos/builtin/packages/tandem/package.py b/var/spack/repos/builtin/packages/tandem/package.py
index bb294834db..7d1dd42a45 100644
--- a/var/spack/repos/builtin/packages/tandem/package.py
+++ b/var/spack/repos/builtin/packages/tandem/package.py
@@ -43,9 +43,9 @@ class Tandem(CMakePackage):
depends_on("libxsmm@1.17 +generator", when="+libxsmm target=x86_64:")
depends_on("lua@5.3.2:5.4.4")
depends_on("eigen@3.4.0")
+
depends_on("zlib-api")
- depends_on("zlib@1.2.8:1.2.13", when="^zlib")
- depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack")
+ 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:")
# see https://github.com/TEAR-ERC/tandem/issues/45
conflicts("%intel")