Add dlaf variant to cp2k (#40702)
This commit is contained in:
parent
1ecb100e43
commit
f4bbc0dbd2
@ -83,6 +83,13 @@ class Cp2k(MakefilePackage, CudaPackage, CMakePackage, ROCmPackage):
|
|||||||
description="Enable optimised diagonalisation routines from ELPA",
|
description="Enable optimised diagonalisation routines from ELPA",
|
||||||
when="@6.1:",
|
when="@6.1:",
|
||||||
)
|
)
|
||||||
|
variant(
|
||||||
|
"dlaf",
|
||||||
|
default=False,
|
||||||
|
description="Enable DLA-Future eigensolver and Cholesky decomposition",
|
||||||
|
# TODO: Pin version when integrated in a release
|
||||||
|
when="@master build_system=cmake",
|
||||||
|
)
|
||||||
variant(
|
variant(
|
||||||
"sirius",
|
"sirius",
|
||||||
default=False,
|
default=False,
|
||||||
@ -226,6 +233,15 @@ class Cp2k(MakefilePackage, CudaPackage, CMakePackage, ROCmPackage):
|
|||||||
depends_on("elpa@2021.11.001:", when="@9.1:")
|
depends_on("elpa@2021.11.001:", when="@9.1:")
|
||||||
depends_on("elpa@2023.05.001:", when="@2023.2:")
|
depends_on("elpa@2023.05.001:", when="@2023.2:")
|
||||||
|
|
||||||
|
with when("+dlaf"):
|
||||||
|
conflicts(
|
||||||
|
"~mpi", msg="DLA-Future requires MPI. Only the distributed eigensolver is available."
|
||||||
|
)
|
||||||
|
depends_on("dla-future@0.2.1: +scalapack")
|
||||||
|
depends_on("dla-future ~cuda~rocm", when="~cuda~rocm")
|
||||||
|
depends_on("dla-future +cuda", when="+cuda")
|
||||||
|
depends_on("dla-future +rocm", when="+rocm")
|
||||||
|
|
||||||
with when("+plumed"):
|
with when("+plumed"):
|
||||||
depends_on("plumed+shared")
|
depends_on("plumed+shared")
|
||||||
depends_on("plumed+mpi", when="+mpi")
|
depends_on("plumed+mpi", when="+mpi")
|
||||||
@ -945,6 +961,7 @@ def cmake_args(self):
|
|||||||
args += [
|
args += [
|
||||||
self.define_from_variant("CP2K_ENABLE_REGTESTS", "enable_regtests"),
|
self.define_from_variant("CP2K_ENABLE_REGTESTS", "enable_regtests"),
|
||||||
self.define_from_variant("CP2K_USE_ELPA", "elpa"),
|
self.define_from_variant("CP2K_USE_ELPA", "elpa"),
|
||||||
|
self.define_from_variant("CP2K_USE_DLAF", "dlaf"),
|
||||||
self.define_from_variant("CP2K_USE_LIBINT2", "libint"),
|
self.define_from_variant("CP2K_USE_LIBINT2", "libint"),
|
||||||
self.define_from_variant("CP2K_USE_SIRIUS", "sirius"),
|
self.define_from_variant("CP2K_USE_SIRIUS", "sirius"),
|
||||||
self.define_from_variant("CP2K_USE_SPLA", "spla"),
|
self.define_from_variant("CP2K_USE_SPLA", "spla"),
|
||||||
|
Loading…
Reference in New Issue
Block a user