[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:
Anton Kozhevnikov 2023-11-27 16:28:19 +01:00 committed by GitHub
parent d76a774957
commit 13b711f620
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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)))