summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorG-Ragghianti <33492707+G-Ragghianti@users.noreply.github.com>2022-09-29 19:09:55 -0400
committerGitHub <noreply@github.com>2022-09-29 17:09:55 -0600
commitd417d49690ecbdc7b96a331472bc690e451afe41 (patch)
tree7e8ddb8b112e93c9aa7118b5eecb5067e5e81e07
parentbb510c79795f0972691666bce64f4226ece506a6 (diff)
downloadspack-d417d49690ecbdc7b96a331472bc690e451afe41.tar.gz
spack-d417d49690ecbdc7b96a331472bc690e451afe41.tar.bz2
spack-d417d49690ecbdc7b96a331472bc690e451afe41.tar.xz
spack-d417d49690ecbdc7b96a331472bc690e451afe41.zip
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
-rw-r--r--var/spack/repos/builtin/packages/blaspp/package.py3
-rw-r--r--var/spack/repos/builtin/packages/lapackpp/package.py24
-rw-r--r--var/spack/repos/builtin/packages/slate/package.py10
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
@@ -20,6 +20,9 @@ class Blaspp(CMakePackage, CudaPackage, ROCmPackage):
version("master", branch="master")
version(
+ "2022.07.00", sha256="566bd644f0364caffde6669e0f86514658eb06ca3d252a4fe67203921a875481"
+ )
+ version(
"2022.05.00", sha256="696277859bc1bd9c0aeb0cb170a1e259765c0a86af49b20afa0ffcbabc3e207e"
)
version(
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."""
@@ -31,6 +32,9 @@ class Lapackpp(CMakePackage):
version("master", branch="master")
version(
+ "2022.07.00", sha256="11e59efcc7ea0764a2bfc0e0f7b1abf73cee2943c1df11a19601780641a9aa18"
+ )
+ version(
"2022.05.00", sha256="d0f548cbc9d4ac46b1f961834d113173c0b433074f77bcfd69c7c31cb89b7ff2"
)
version(
@@ -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
@@ -25,6 +25,9 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage):
version("master", branch="master")
version(
+ "2022.07.00", sha256="176db81aef44b1d498a37c67b30aff88d4025770c9200e19ceebd416e4101327"
+ )
+ version(
"2022.06.00", sha256="4da23f3c3c51fde65120f80df2b2f703aee1910389c08f971804aa77d11ac027"
)
version(
@@ -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")