add memalign option to petsc to be used with tandem (#37282)
This commit is contained in:
parent
4502351659
commit
ecfd9ef12b
2 changed files with 13 additions and 2 deletions
|
@ -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 @@ def configure_options(self):
|
|||
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:
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Reference in a new issue