summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/sirius/package.py24
1 files 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 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage):
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 @@ class Sirius(CMakePackage, CudaPackage, ROCmPackage):
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)))