From 13b711f620bdd18bdd67f68a50b89984b3418d2f Mon Sep 17 00:00:00 2001 From: Anton Kozhevnikov Date: Mon, 27 Nov 2023 16:28:19 +0100 Subject: [PATCH] [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 --- .../repos/builtin/packages/sirius/package.py | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/var/spack/repos/builtin/packages/sirius/package.py b/var/spack/repos/builtin/packages/sirius/package.py index 20f5a4246d..fd73c669ec 100644 --- a/var/spack/repos/builtin/packages/sirius/package.py +++ b/var/spack/repos/builtin/packages/sirius/package.py @@ -21,6 +21,7 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): version("develop", branch="develop") version("master", branch="master") + version("7.5.0", sha256="c583f88ffc02e9acac24e786bc35c7c32066882d2f70a1e0c14b5780b510365d") version("7.4.3", sha256="015679a60a39fa750c5d1bd8fb1ce73945524bef561270d8a171ea2fd4687fec") version("7.4.0", sha256="f9360a695a1e786d8cb9d6702c82dd95144a530c4fa7e8115791c7d1e92b020b") version("7.3.2", sha256="a256508de6b344345c295ad8642dbb260c4753cd87cc3dd192605c33542955d7") @@ -79,17 +80,11 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): variant("shared", default=True, description="Build shared libraries") 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("python", default=False, description="Build Python bindings") variant("memory_pool", default=True, description="Build with memory pool") 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("scalapack", default=False, description="Enable scalapack support") variant("magma", default=False, description="Enable MAGMA support") @@ -107,6 +102,7 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): variant( "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("mpi") @@ -133,7 +129,6 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): extends("python", when="+python") 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+single_precision", when="+single_precision ^spfft") @@ -154,13 +149,18 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage): 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("rocsolver", when="@7.5.0: +rocm") # FindHIP cmake script only works for < 4.1 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("+single_precision", when="@:7.2.4") 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_MEMORY_POOL", "memory_pool"), 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_PYTHON_MODULE", "python"), self.define_from_variant(cm_label + "USE_CUDA", "cuda"), 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_SHARED_LIBS", "shared"), 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_NVTX", "nvtx"), self.define_from_variant(cm_label + "USE_WANNIER90", "wannier90"), + self.define_from_variant("BUILD_SHARED_LIBS", "shared"), self.define_from_variant("BUILD_TESTING", "tests"), ] @@ -254,7 +256,7 @@ def cmake_args(self): cuda_arch = spec.variants["cuda_arch"].value if cuda_arch[0] != "none": # 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))) else: args.append(self.define("CMAKE_CUDA_ARCHITECTURES", ";".join(cuda_arch)))