From 4b618704bf3d505cfe8f4e635ed45511f2ff7c4e Mon Sep 17 00:00:00 2001 From: Sajid Ali Date: Thu, 24 Aug 2023 10:39:24 -0500 Subject: add magma variant to strumpack (#39224) * add magma variant to strumpack * clarify conflicts to be excuive to rocm/cuda, without it +magma+cuda fails as it is ~rocm modified: var/spack/repos/builtin/packages/strumpack/package.py * add missing depends_on for magma variant --- var/spack/repos/builtin/packages/strumpack/package.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/strumpack/package.py b/var/spack/repos/builtin/packages/strumpack/package.py index 5f9853c729..15133630a8 100644 --- a/var/spack/repos/builtin/packages/strumpack/package.py +++ b/var/spack/repos/builtin/packages/strumpack/package.py @@ -61,6 +61,7 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage): variant("count_flops", default=False, description="Build with flop counters") variant("task_timers", default=False, description="Build with timers for internal routines") variant("slate", default=True, description="Build with SLATE support") + variant("magma", default=False, description="Build with MAGMA support") depends_on("cmake@3.11:", when="@:6.2.9", type="build") depends_on("cmake@3.17:", when="@6.3.0:", type="build") @@ -84,6 +85,8 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage): depends_on("rocsolver", when="+rocm") depends_on("rocthrust", when="+rocm") depends_on("slate", when="+slate") + depends_on("magma+cuda", when="+magma+cuda") + depends_on("magma+rocm", when="+magma+rocm") depends_on("slate+cuda", when="+cuda+slate") depends_on("slate+rocm", when="+rocm+slate") for val in ROCmPackage.amdgpu_targets: @@ -100,6 +103,7 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage): conflicts("+rocm", when="+cuda") conflicts("+slate", when="@:5.1.1") conflicts("+slate", when="~mpi") + conflicts("+magma", when="~rocm~cuda") patch("intel-19-compile.patch", when="@3.1.1") patch("shared-rocm.patch", when="@5.1.1") @@ -118,6 +122,7 @@ class Strumpack(CMakePackage, CudaPackage, ROCmPackage): self.define_from_variant("TPL_ENABLE_PARMETIS", "parmetis"), self.define_from_variant("TPL_ENABLE_SCOTCH", "scotch"), self.define_from_variant("TPL_ENABLE_BPACK", "butterflypack"), + self.define_from_variant("TPL_ENABLE_MAGMA", "magma"), self.define_from_variant("STRUMPACK_COUNT_FLOPS", "count_flops"), self.define_from_variant("STRUMPACK_TASK_TIMERS", "task_timers"), "-DTPL_BLAS_LIBRARIES=%s" % spec["blas"].libs.joined(";"), -- cgit v1.2.3-60-g2f50