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
This commit is contained in:
G-Ragghianti 2022-09-29 19:09:55 -04:00 committed by GitHub
parent bb510c7979
commit d417d49690
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 2 deletions

View File

@ -19,6 +19,9 @@ class Blaspp(CMakePackage, CudaPackage, ROCmPackage):
maintainers = ["teonnik", "Sely85", "G-Ragghianti", "mgates3"] maintainers = ["teonnik", "Sely85", "G-Ragghianti", "mgates3"]
version("master", branch="master") version("master", branch="master")
version(
"2022.07.00", sha256="566bd644f0364caffde6669e0f86514658eb06ca3d252a4fe67203921a875481"
)
version( version(
"2022.05.00", sha256="696277859bc1bd9c0aeb0cb170a1e259765c0a86af49b20afa0ffcbabc3e207e" "2022.05.00", sha256="696277859bc1bd9c0aeb0cb170a1e259765c0a86af49b20afa0ffcbabc3e207e"
) )

View File

@ -11,6 +11,7 @@
_versions = [ _versions = [
# LAPACK++, BLAS++ # LAPACK++, BLAS++
["master", "master"], ["master", "master"],
["2022.07.00", "2022.07.00"],
["2022.05.00", "2022.05.00"], ["2022.05.00", "2022.05.00"],
["2020.10.00", "2020.10.00"], ["2020.10.00", "2020.10.00"],
["2020.10.01", "2020.10.01"], ["2020.10.01", "2020.10.01"],
@ -19,7 +20,7 @@
] ]
class Lapackpp(CMakePackage): class Lapackpp(CMakePackage, CudaPackage, ROCmPackage):
"""LAPACK++: C++ API for the LAPACK Linear Algebra Package. Developed """LAPACK++: C++ API for the LAPACK Linear Algebra Package. Developed
by the Innovative Computing Laboratory at the University of Tennessee, by the Innovative Computing Laboratory at the University of Tennessee,
Knoxville.""" Knoxville."""
@ -30,6 +31,9 @@ class Lapackpp(CMakePackage):
maintainers = ["teonnik", "Sely85", "G-Ragghianti", "mgates3"] maintainers = ["teonnik", "Sely85", "G-Ragghianti", "mgates3"]
version("master", branch="master") version("master", branch="master")
version(
"2022.07.00", sha256="11e59efcc7ea0764a2bfc0e0f7b1abf73cee2943c1df11a19601780641a9aa18"
)
version( version(
"2022.05.00", sha256="d0f548cbc9d4ac46b1f961834d113173c0b433074f77bcfd69c7c31cb89b7ff2" "2022.05.00", sha256="d0f548cbc9d4ac46b1f961834d113173c0b433074f77bcfd69c7c31cb89b7ff2"
) )
@ -52,16 +56,34 @@ class Lapackpp(CMakePackage):
for (lpp_ver, bpp_ver) in _versions: for (lpp_ver, bpp_ver) in _versions:
depends_on("blaspp@" + bpp_ver, when="@" + lpp_ver) 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("blas")
depends_on("lapack") 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): def cmake_args(self):
spec = self.spec 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 = [ args = [
"-DBUILD_SHARED_LIBS=%s" % ("+shared" in spec), "-DBUILD_SHARED_LIBS=%s" % ("+shared" in spec),
"-Dbuild_tests=%s" % self.run_tests, "-Dbuild_tests=%s" % self.run_tests,
"-DLAPACK_LIBRARIES=%s" % spec["lapack"].libs.joined(";"), "-DLAPACK_LIBRARIES=%s" % spec["lapack"].libs.joined(";"),
"-Dgpu_backend=%s" % backend,
] ]
if spec["blas"].name == "cray-libsci": if spec["blas"].name == "cray-libsci":

View File

@ -24,6 +24,9 @@ class Slate(CMakePackage, CudaPackage, ROCmPackage):
test_requires_compiler = True test_requires_compiler = True
version("master", branch="master") version("master", branch="master")
version(
"2022.07.00", sha256="176db81aef44b1d498a37c67b30aff88d4025770c9200e19ceebd416e4101327"
)
version( version(
"2022.06.00", sha256="4da23f3c3c51fde65120f80df2b2f703aee1910389c08f971804aa77d11ac027" "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 +cuda", when="+cuda") depends_on("blaspp +cuda", when="+cuda")
depends_on("blaspp ~rocm", when="~rocm") 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: for val in ROCmPackage.amdgpu_targets:
depends_on("blaspp +rocm amdgpu_target=%s" % val, when="amdgpu_target=%s" % val) 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@2021.04.00:", when="@2021.05.01:")
depends_on("lapackpp@2020.10.02", when="@2020.10.00") depends_on("lapackpp@2020.10.02", when="@2020.10.00")
depends_on("lapackpp@master", when="@master") depends_on("lapackpp@master", when="@master")