[sirius] update spack recipe; add v7.5.0 (#41233)
* update spack recipe * [@spackbot] updating style on behalf of toxa81 * change from @develop to @7.5.0 * return dependency on boost_filesystem * return dependency on boost_filesystem * remove boost filesystem as agreed by @RMeli and @simonpintarelli --------- Co-authored-by: toxa81 <toxa81@users.noreply.github.com>
This commit is contained in:
parent
d76a774957
commit
13b711f620
1 changed files with 13 additions and 11 deletions
|
@ -21,6 +21,7 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
version("develop", branch="develop")
|
version("develop", branch="develop")
|
||||||
version("master", branch="master")
|
version("master", branch="master")
|
||||||
|
|
||||||
|
version("7.5.0", sha256="c583f88ffc02e9acac24e786bc35c7c32066882d2f70a1e0c14b5780b510365d")
|
||||||
version("7.4.3", sha256="015679a60a39fa750c5d1bd8fb1ce73945524bef561270d8a171ea2fd4687fec")
|
version("7.4.3", sha256="015679a60a39fa750c5d1bd8fb1ce73945524bef561270d8a171ea2fd4687fec")
|
||||||
version("7.4.0", sha256="f9360a695a1e786d8cb9d6702c82dd95144a530c4fa7e8115791c7d1e92b020b")
|
version("7.4.0", sha256="f9360a695a1e786d8cb9d6702c82dd95144a530c4fa7e8115791c7d1e92b020b")
|
||||||
version("7.3.2", sha256="a256508de6b344345c295ad8642dbb260c4753cd87cc3dd192605c33542955d7")
|
version("7.3.2", sha256="a256508de6b344345c295ad8642dbb260c4753cd87cc3dd192605c33542955d7")
|
||||||
|
@ -79,17 +80,11 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
|
|
||||||
variant("shared", default=True, description="Build shared libraries")
|
variant("shared", default=True, description="Build shared libraries")
|
||||||
variant("openmp", default=True, description="Build with OpenMP support")
|
variant("openmp", default=True, description="Build with OpenMP support")
|
||||||
variant(
|
|
||||||
"boost_filesystem",
|
|
||||||
default=False,
|
|
||||||
description="Use Boost filesystem for self-consistent field method "
|
|
||||||
"mini-app. Only required when the compiler does not "
|
|
||||||
"support std::experimental::filesystem nor std::filesystem",
|
|
||||||
)
|
|
||||||
variant("fortran", default=False, description="Build Fortran bindings")
|
variant("fortran", default=False, description="Build Fortran bindings")
|
||||||
variant("python", default=False, description="Build Python bindings")
|
variant("python", default=False, description="Build Python bindings")
|
||||||
variant("memory_pool", default=True, description="Build with memory pool")
|
variant("memory_pool", default=True, description="Build with memory pool")
|
||||||
variant("elpa", default=False, description="Use ELPA")
|
variant("elpa", default=False, description="Use ELPA")
|
||||||
|
variant("dlaf", default=False, when="@7.5.0:", description="Use DLA-Future")
|
||||||
variant("vdwxc", default=False, description="Enable libvdwxc support")
|
variant("vdwxc", default=False, description="Enable libvdwxc support")
|
||||||
variant("scalapack", default=False, description="Enable scalapack support")
|
variant("scalapack", default=False, description="Enable scalapack support")
|
||||||
variant("magma", default=False, description="Enable MAGMA support")
|
variant("magma", default=False, description="Enable MAGMA support")
|
||||||
|
@ -107,6 +102,7 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
variant(
|
variant(
|
||||||
"profiler", default=True, description="Use internal profiler to measure execution time"
|
"profiler", default=True, description="Use internal profiler to measure execution time"
|
||||||
)
|
)
|
||||||
|
variant("nvtx", default=False, description="Use NVTX profiler")
|
||||||
|
|
||||||
depends_on("cmake@3.23:", type="build")
|
depends_on("cmake@3.23:", type="build")
|
||||||
depends_on("mpi")
|
depends_on("mpi")
|
||||||
|
@ -133,7 +129,6 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
extends("python", when="+python")
|
extends("python", when="+python")
|
||||||
|
|
||||||
depends_on("magma", when="+magma")
|
depends_on("magma", when="+magma")
|
||||||
depends_on("boost cxxstd=14 +filesystem", when="+boost_filesystem")
|
|
||||||
|
|
||||||
depends_on("spfft@0.9.13:", when="@7.0.1:")
|
depends_on("spfft@0.9.13:", when="@7.0.1:")
|
||||||
depends_on("spfft+single_precision", when="+single_precision ^spfft")
|
depends_on("spfft+single_precision", when="+single_precision ^spfft")
|
||||||
|
@ -154,13 +149,18 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage):
|
||||||
|
|
||||||
depends_on("scalapack", when="+scalapack")
|
depends_on("scalapack", when="+scalapack")
|
||||||
|
|
||||||
|
with when("+dlaf"):
|
||||||
|
depends_on("dla-future@0.3.0:")
|
||||||
|
depends_on("dla-future +scalapack", when="+scalapack")
|
||||||
|
depends_on("dla-future +cuda", when="+cuda")
|
||||||
|
depends_on("dla-future +rocm", when="+rocm")
|
||||||
|
|
||||||
depends_on("rocblas", when="+rocm")
|
depends_on("rocblas", when="+rocm")
|
||||||
depends_on("rocsolver", when="@7.5.0: +rocm")
|
depends_on("rocsolver", when="@7.5.0: +rocm")
|
||||||
|
|
||||||
# FindHIP cmake script only works for < 4.1
|
# FindHIP cmake script only works for < 4.1
|
||||||
depends_on("hip@:4.0", when="@:7.2.0 +rocm")
|
depends_on("hip@:4.0", when="@:7.2.0 +rocm")
|
||||||
|
|
||||||
conflicts("+boost_filesystem", when="~apps")
|
|
||||||
conflicts("^libxc@5.0.0") # known to produce incorrect results
|
conflicts("^libxc@5.0.0") # known to produce incorrect results
|
||||||
conflicts("+single_precision", when="@:7.2.4")
|
conflicts("+single_precision", when="@:7.2.4")
|
||||||
conflicts("+scalapack", when="^cray-libsci")
|
conflicts("+scalapack", when="^cray-libsci")
|
||||||
|
@ -203,15 +203,17 @@ def cmake_args(self):
|
||||||
self.define_from_variant(cm_label + "USE_VDWXC", "vdwxc"),
|
self.define_from_variant(cm_label + "USE_VDWXC", "vdwxc"),
|
||||||
self.define_from_variant(cm_label + "USE_MEMORY_POOL", "memory_pool"),
|
self.define_from_variant(cm_label + "USE_MEMORY_POOL", "memory_pool"),
|
||||||
self.define_from_variant(cm_label + "USE_SCALAPACK", "scalapack"),
|
self.define_from_variant(cm_label + "USE_SCALAPACK", "scalapack"),
|
||||||
|
self.define_from_variant(cm_label + "USE_DLAF", "dlaf"),
|
||||||
self.define_from_variant(cm_label + "CREATE_FORTRAN_BINDINGS", "fortran"),
|
self.define_from_variant(cm_label + "CREATE_FORTRAN_BINDINGS", "fortran"),
|
||||||
self.define_from_variant(cm_label + "CREATE_PYTHON_MODULE", "python"),
|
self.define_from_variant(cm_label + "CREATE_PYTHON_MODULE", "python"),
|
||||||
self.define_from_variant(cm_label + "USE_CUDA", "cuda"),
|
self.define_from_variant(cm_label + "USE_CUDA", "cuda"),
|
||||||
self.define_from_variant(cm_label + "USE_ROCM", "rocm"),
|
self.define_from_variant(cm_label + "USE_ROCM", "rocm"),
|
||||||
self.define_from_variant(cm_label + "BUILD_APPS", "apps"),
|
self.define_from_variant(cm_label + "BUILD_APPS", "apps"),
|
||||||
self.define_from_variant(cm_label + "BUILD_SHARED_LIBS", "shared"),
|
|
||||||
self.define_from_variant(cm_label + "USE_FP32", "single_precision"),
|
self.define_from_variant(cm_label + "USE_FP32", "single_precision"),
|
||||||
self.define_from_variant(cm_label + "USE_PROFILER", "profiler"),
|
self.define_from_variant(cm_label + "USE_PROFILER", "profiler"),
|
||||||
|
self.define_from_variant(cm_label + "USE_NVTX", "nvtx"),
|
||||||
self.define_from_variant(cm_label + "USE_WANNIER90", "wannier90"),
|
self.define_from_variant(cm_label + "USE_WANNIER90", "wannier90"),
|
||||||
|
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
|
||||||
self.define_from_variant("BUILD_TESTING", "tests"),
|
self.define_from_variant("BUILD_TESTING", "tests"),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -254,7 +256,7 @@ def cmake_args(self):
|
||||||
cuda_arch = spec.variants["cuda_arch"].value
|
cuda_arch = spec.variants["cuda_arch"].value
|
||||||
if cuda_arch[0] != "none":
|
if cuda_arch[0] != "none":
|
||||||
# Make SIRIUS handle it
|
# Make SIRIUS handle it
|
||||||
if "@6:7.4.3" in spec:
|
if "@:7.4.3" in spec:
|
||||||
args.append(self.define("CMAKE_CUDA_ARCH", ";".join(cuda_arch)))
|
args.append(self.define("CMAKE_CUDA_ARCH", ";".join(cuda_arch)))
|
||||||
else:
|
else:
|
||||||
args.append(self.define("CMAKE_CUDA_ARCHITECTURES", ";".join(cuda_arch)))
|
args.append(self.define("CMAKE_CUDA_ARCHITECTURES", ";".join(cuda_arch)))
|
||||||
|
|
Loading…
Reference in a new issue