diff options
author | Thomas-Ulrich <ulrich@geophysik.uni-muenchen.de> | 2023-08-25 16:03:53 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-25 09:03:53 -0500 |
commit | ecfd9ef12bc4bf39ff92df01921c8f641b54e43e (patch) | |
tree | d8f417c507a4e5a4465ccb2e7775418719575da0 | |
parent | 450235165955ebd939c1d25d98776e52ec5d620c (diff) | |
download | spack-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)
-rw-r--r-- | var/spack/repos/builtin/packages/petsc/package.py | 11 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/tandem/package.py | 4 |
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") |