From 3a62f3aeae198053b58d088b801a00c9495f6587 Mon Sep 17 00:00:00 2001 From: Cameron Rutherford Date: Wed, 3 Aug 2022 17:21:58 -0400 Subject: ExaGO: disable Python with rocm+ipopt. HiOp: fix umpire+raja costraints. RAJA: fix option naming for 0.14.0 (#31880) --- var/spack/repos/builtin/packages/exago/package.py | 5 ++++- var/spack/repos/builtin/packages/hiop/package.py | 12 ++++++++---- var/spack/repos/builtin/packages/raja/package.py | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/exago/package.py b/var/spack/repos/builtin/packages/exago/package.py index 37db1a8ae6..b85f72e9d8 100644 --- a/var/spack/repos/builtin/packages/exago/package.py +++ b/var/spack/repos/builtin/packages/exago/package.py @@ -36,6 +36,9 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage): variant("raja", default=False, description="Enable/Disable RAJA") variant("python", default=True, description="Enable/Disable Python bindings") conflicts("+python", when="@:1.3.0", msg="Python bindings require ExaGO 1.4") + conflicts( + "+python", when="+ipopt+rocm", msg="Python bindings require -fPIC with Ipopt for rocm." + ) # Solver options variant("hiop", default=False, description="Enable/Disable HiOp") @@ -72,7 +75,7 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage): depends_on("petsc@3.16.0:3.16", when="@1.3.0:") depends_on("petsc~mpi", when="~mpi") - depends_on("py-pytest", type=("build", "run"), when="@1.4.1:") + depends_on("py-pytest", type=("build", "run"), when="@1.4.1:+python") for arch in CudaPackage.cuda_arch_values: cuda_dep = "+cuda cuda_arch={0}".format(arch) diff --git a/var/spack/repos/builtin/packages/hiop/package.py b/var/spack/repos/builtin/packages/hiop/package.py index f7751af67c..af7227db46 100644 --- a/var/spack/repos/builtin/packages/hiop/package.py +++ b/var/spack/repos/builtin/packages/hiop/package.py @@ -81,6 +81,7 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): 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)) magma_ver_constraints = ( ("2.5.4", "0.4"), @@ -96,10 +97,13 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): depends_on("cuda@11:", when="@develop:+cuda") depends_on("raja", when="+raja") - depends_on("raja+openmp", when="+raja~cuda~rocm") - depends_on("raja@0.14.0:", when="@0.5.0:+raja") depends_on("umpire", when="+raja") - depends_on("umpire@6.0.0:", when="@0.5.0:+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") + depends_on("hip", when="+rocm") depends_on("hipblas", when="+rocm") depends_on("hipsparse", when="+rocm") @@ -109,7 +113,7 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): depends_on("coinhsl+blas", when="+sparse") depends_on("metis", when="+sparse") - depends_on("ginkgo@glu+cuda", when="+ginkgo") + depends_on("ginkgo@glu+cuda", when="+ginkgo+cuda") conflicts( "+shared", diff --git a/var/spack/repos/builtin/packages/raja/package.py b/var/spack/repos/builtin/packages/raja/package.py index 49e075296c..12fc67d6e9 100644 --- a/var/spack/repos/builtin/packages/raja/package.py +++ b/var/spack/repos/builtin/packages/raja/package.py @@ -133,7 +133,7 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage): spec = self.spec entries = [] - option_prefix = "RAJA_" if spec.satisfies("@2022.03.0:") else "" + option_prefix = "RAJA_" if spec.satisfies("@0.14.0:") else "" entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec["blt"].prefix)) if "camp" in self.spec: -- cgit v1.2.3-60-g2f50