summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/hiop/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/hiop/package.py')
-rw-r--r--var/spack/repos/builtin/packages/hiop/package.py31
1 files changed, 20 insertions, 11 deletions
diff --git a/var/spack/repos/builtin/packages/hiop/package.py b/var/spack/repos/builtin/packages/hiop/package.py
index 9e2d45629e..543ff25009 100644
--- a/var/spack/repos/builtin/packages/hiop/package.py
+++ b/var/spack/repos/builtin/packages/hiop/package.py
@@ -80,14 +80,18 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
depends_on("magma {0}".format(cuda_dep), when=cuda_dep)
depends_on("raja {0}".format(cuda_dep), when="+raja {0}".format(cuda_dep))
depends_on("ginkgo {0}".format(cuda_dep), when="+ginkgo {0}".format(cuda_dep))
- depends_on("umpire ~shared {0}".format(cuda_dep), when="+raja {0}".format(cuda_dep))
+ depends_on("umpire {0}".format(cuda_dep), when="+raja {0}".format(cuda_dep))
+ # Camp GPU arch doesn't get propogated correctly
+ depends_on("camp {0}".format(cuda_dep), when="+raja {0}".format(cuda_dep))
for arch in ROCmPackage.amdgpu_targets:
rocm_dep = "+rocm amdgpu_target={0}".format(arch)
depends_on("magma {0}".format(rocm_dep), when=rocm_dep)
depends_on("raja {0}".format(rocm_dep), when="+raja {0}".format(rocm_dep))
- depends_on("umpire {0}".format(rocm_dep), when="+raja {0}".format(rocm_dep))
depends_on("ginkgo {0}".format(rocm_dep), when="+ginkgo {0}".format(rocm_dep))
+ depends_on("umpire {0}".format(rocm_dep), when="+raja {0}".format(rocm_dep))
+ # Camp GPU arch doesn't get propogated correctly
+ depends_on("camp {0}".format(rocm_dep), when="+raja {0}".format(rocm_dep))
magma_ver_constraints = (("2.5.4", "0.4"), ("2.6.1", "0.4.6"), ("2.6.2", "0.5.4"))
@@ -101,9 +105,20 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
depends_on("umpire", when="+raja")
depends_on("raja+openmp", when="+raja~cuda~rocm")
- # Umpire > 0.14 and RAJA > 6.0 require c++ std 14
- depends_on("raja@0.14.0:0.14", when="@0.5.0:0.6.2+raja")
- depends_on("umpire@6.0.0:", when="@0.5.0:0.6.2+raja")
+ # RAJA > 0.14 and Umpire > 6.0 require c++ std 14
+ # We are working on supporting newer Umpire/RAJA versions
+ depends_on("raja@0.14.0:0.14", when="@0.5.0:+raja")
+ depends_on("umpire@6.0.0:6", when="@0.5.0:+raja")
+ depends_on("camp@0.2.3:0.2", when="@0.5.0:+raja")
+
+ # This is no longer a requirement in RAJA > 0.14
+ depends_on("umpire+cuda~shared", when="+raja+cuda ^raja@:0.14")
+
+ conflicts(
+ "+shared",
+ when="+cuda+raja ^raja@:0.14",
+ msg="umpire+cuda exports device code and requires static libs",
+ )
depends_on("hip", when="+rocm")
depends_on("hipblas", when="+rocm")
@@ -117,12 +132,6 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
depends_on("ginkgo@1.5.0.glu_experimental", when="+ginkgo")
- conflicts(
- "+shared",
- when="+cuda+raja",
- msg="umpire+cuda exports device code and requires static libs",
- )
-
flag_handler = build_system_flags
def cmake_args(self):