From d417d49690ecbdc7b96a331472bc690e451afe41 Mon Sep 17 00:00:00 2001 From: G-Ragghianti <33492707+G-Ragghianti@users.noreply.github.com> Date: Thu, 29 Sep 2022 19:09:55 -0400 Subject: Package updates for slate, lapackpp, and blaspp (#32907) * Added new versions * New slate version * Adding GPU support for lapackpp package * Modified dependency on lapackpp * Added rocblas and rocsolver to deps * Testing with custom lapackpp repo * Added chaining depends_on for +rocm * Removing testing repo --- var/spack/repos/builtin/packages/blaspp/package.py | 3 +++ .../repos/builtin/packages/lapackpp/package.py | 24 +++++++++++++++++++++- var/spack/repos/builtin/packages/slate/package.py | 10 ++++++++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/var/spack/repos/builtin/packages/blaspp/package.py b/var/spack/repos/builtin/packages/blaspp/package.py index 403e7c0ded..5b2ee37d5e 100644 --- a/var/spack/repos/builtin/packages/blaspp/package.py +++ b/var/spack/repos/builtin/packages/blaspp/package.py @@ -19,6 +19,9 @@ class Blaspp(CMakePackage, CudaPackage, ROCmPackage): maintainers = ["teonnik", "Sely85", "G-Ragghianti", "mgates3"] version("master", branch="master") + version( + "2022.07.00", sha256="566bd644f0364caffde6669e0f86514658eb06ca3d252a4fe67203921a875481" + ) version( "2022.05.00", sha256="696277859bc1bd9c0aeb0cb170a1e259765c0a86af49b20afa0ffcbabc3e207e" ) diff --git a/var/spack/repos/builtin/packages/lapackpp/package.py b/var/spack/repos/builtin/packages/lapackpp/package.py index 9a56b692c7..e44fda77c6 100644 --- a/var/spack/repos/builtin/packages/lapackpp/package.py +++ b/var/spack/repos/builtin/packages/lapackpp/package.py @@ -11,6 +11,7 @@ from spack.package import * _versions = [ # LAPACK++, BLAS++ ["master", "master"], + ["2022.07.00", "2022.07.00"], ["2022.05.00", "2022.05.00"], ["2020.10.00", "2020.10.00"], ["2020.10.01", "2020.10.01"], @@ -19,7 +20,7 @@ _versions = [ ] -class Lapackpp(CMakePackage): +class Lapackpp(CMakePackage, CudaPackage, ROCmPackage): """LAPACK++: C++ API for the LAPACK Linear Algebra Package. Developed by the Innovative Computing Laboratory at the University of Tennessee, Knoxville.""" @@ -30,6 +31,9 @@ class Lapackpp(CMakePackage): maintainers = ["teonnik", "Sely85", "G-Ragghianti", "mgates3"] version("master", branch="master") + version( + "2022.07.00", sha256="11e59efcc7ea0764a2bfc0e0f7b1abf73cee2943c1df11a19601780641a9aa18" + ) version( "2022.05.00", sha256="d0f548cbc9d4ac46b1f961834d113173c0b433074f77bcfd69c7c31cb89b7ff2" ) @@ -52,16 +56,34 @@ class Lapackpp(CMakePackage): for (lpp_ver, bpp_ver) in _versions: depends_on("blaspp@" + bpp_ver, when="@" + lpp_ver) + depends_on("blaspp ~cuda", when="~cuda") + depends_on("blaspp +cuda", when="+cuda") + depends_on("blaspp ~rocm", when="~rocm") + for val in ROCmPackage.amdgpu_targets: + depends_on("blaspp +rocm amdgpu_target=%s" % val, when="amdgpu_target=%s" % val) + depends_on("blas") depends_on("lapack") + depends_on("rocblas", when="+rocm") + depends_on("rocsolver", when="+rocm") + + conflicts("+rocm", when="+cuda", msg="LAPACK++ can only support one GPU backend at a time") def cmake_args(self): spec = self.spec + backend = "none" + if self.version >= Version("2022.07.00"): + if "+cuda" in spec: + backend = "cuda" + if "+rocm" in spec: + backend = "hip" + args = [ "-DBUILD_SHARED_LIBS=%s" % ("+shared" in spec), "-Dbuild_tests=%s" % self.run_tests, "-DLAPACK_LIBRARIES=%s" % spec["lapack"].libs.joined(";"), + "-Dgpu_backend=%s" % backend, ] if spec["blas"].name == "cray-libsci": diff --git a/var/spack/repos/builtin/packages/slate/package.py b/var/spack/repos/builtin/packages/slate/package.py index 8a26ba0427..7afb4f59ff 100644 --- a/var/spack/repos/builtin/packages/slate/package.py +++ b/var/spack/repos/builtin/packages/slate/package.py @@ -24,6 +24,9 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage): test_requires_compiler = True version("master", branch="master") + version( + "2022.07.00", sha256="176db81aef44b1d498a37c67b30aff88d4025770c9200e19ceebd416e4101327" + ) version( "2022.06.00", sha256="4da23f3c3c51fde65120f80df2b2f703aee1910389c08f971804aa77d11ac027" ) @@ -54,9 +57,14 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage): depends_on("blaspp ~cuda", when="~cuda") depends_on("blaspp +cuda", when="+cuda") depends_on("blaspp ~rocm", when="~rocm") + depends_on("lapackpp ~cuda", when="~cuda") + depends_on("lapackpp +cuda", when="+cuda") + depends_on("lapackpp ~rocm", when="~rocm") for val in ROCmPackage.amdgpu_targets: depends_on("blaspp +rocm amdgpu_target=%s" % val, when="amdgpu_target=%s" % val) - depends_on("lapackpp@2022.05.00", when="@2022.05.00:") + depends_on("lapackpp +rocm amdgpu_target=%s" % val, when="amdgpu_target=%s" % val) + depends_on("lapackpp@2022.07.00", when="@2022.07.00:") + depends_on("lapackpp@2022.05.00:", when="@2022.05.00:") depends_on("lapackpp@2021.04.00:", when="@2021.05.01:") depends_on("lapackpp@2020.10.02", when="@2020.10.00") depends_on("lapackpp@master", when="@master") -- cgit v1.2.3-60-g2f50