diff --git a/var/spack/repos/builtin/packages/ginkgo/package.py b/var/spack/repos/builtin/packages/ginkgo/package.py index dd5dc4b557d..b38d6a45f86 100644 --- a/var/spack/repos/builtin/packages/ginkgo/package.py +++ b/var/spack/repos/builtin/packages/ginkgo/package.py @@ -25,7 +25,9 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage): license("BSD-3-Clause") version("develop", branch="develop") - version("master", branch="master") + version("main", branch="main") + version("master", branch="master", deprecated=True) + version("1.9.0", commit="20cfd68795f58078898da9890baa311b46845a8b") # v1.9.0 version("1.8.0", commit="586b1754058d7a32d4bd1b650f9603484c2a8927") # v1.8.0 version("1.7.0", commit="49242ff89af1e695d7794f6d50ed9933024b66fe") # v1.7.0 version("1.6.0", commit="1f1ed46e724334626f016f105213c047e16bc1ae") # v1.6.0 @@ -53,6 +55,9 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage): variant("hwloc", default=False, description="Enable HWLOC support") variant("sde", default=False, description="Enable PAPI SDE support", when="@1.7.0:") variant("mpi", default=False, description="Enable MPI support", when="@1.5.0:") + variant( + "half_precision", default=True, description="Enable half-precision support", when="@1.9.0:" + ) depends_on("cmake@3.9:", type="build", when="@:1.3.0") depends_on("cmake@3.13:", type="build", when="@1.4.0:1.6.0") @@ -62,6 +67,7 @@ class Ginkgo(CMakePackage, CudaPackage, ROCmPackage): depends_on("cuda@9:", when="+cuda @:1.4.0") depends_on("cuda@9.2:", when="+cuda @1.5.0:") depends_on("cuda@10.1:", when="+cuda @1.7.0:") + depends_on("cuda@11:", when="+cuda @1.9.0:") depends_on("mpi@3.1:", when="+mpi") depends_on("rocthrust", when="+rocm") @@ -147,11 +153,16 @@ def cmake_args(self): self.compiler.cxx11_flag except UnsupportedCompilerFlag: raise InstallError("Ginkgo requires a C++11-compliant C++ compiler") - else: + if self.spec.satisfies("@1.3.0:1.8.0"): try: self.compiler.cxx14_flag except UnsupportedCompilerFlag: raise InstallError("Ginkgo requires a C++14-compliant C++ compiler") + if self.spec.satisfies("@1.9.0:"): + try: + self.compiler.cxx17_flag + except UnsupportedCompilerFlag: + raise InstallError("Ginkgo requires a C++17-compliant C++ compiler") if self.spec.satisfies("@1.4.0:1.6.0 +sycl") and not self.spec.satisfies( "%oneapi@2021.3.0:" @@ -175,6 +186,7 @@ def cmake_args(self): from_variant("GINKGO_BUILD_HWLOC", "hwloc"), from_variant("GINKGO_WITH_PAPI_SDE", "sde"), from_variant("GINKGO_DEVEL_TOOLS", "develtools"), + from_variant("GINKGO_ENABLE_HALF", "half_precision"), # As we are not exposing benchmarks, examples, tests nor doc # as part of the installation, disable building them altogether. "-DGINKGO_BUILD_BENCHMARKS=OFF",