ExaGO: disable Python with rocm+ipopt. HiOp: fix umpire+raja costraints. RAJA: fix option naming for 0.14.0 (#31880)

This commit is contained in:
Cameron Rutherford 2022-08-03 17:21:58 -04:00 committed by GitHub
parent 43be9a1ac1
commit 3a62f3aeae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 6 deletions

View File

@ -36,6 +36,9 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage):
variant("raja", default=False, description="Enable/Disable RAJA") variant("raja", default=False, description="Enable/Disable RAJA")
variant("python", default=True, description="Enable/Disable Python bindings") 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="@: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 # Solver options
variant("hiop", default=False, description="Enable/Disable HiOp") 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@3.16.0:3.16", when="@1.3.0:")
depends_on("petsc~mpi", when="~mpi") 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: for arch in CudaPackage.cuda_arch_values:
cuda_dep = "+cuda cuda_arch={0}".format(arch) cuda_dep = "+cuda cuda_arch={0}".format(arch)

View File

@ -81,6 +81,7 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
depends_on("magma {0}".format(rocm_dep), when=rocm_dep) 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("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("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 = ( magma_ver_constraints = (
("2.5.4", "0.4"), ("2.5.4", "0.4"),
@ -96,10 +97,13 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
depends_on("cuda@11:", when="@develop:+cuda") depends_on("cuda@11:", when="@develop:+cuda")
depends_on("raja", when="+raja") 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", 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("hip", when="+rocm")
depends_on("hipblas", when="+rocm") depends_on("hipblas", when="+rocm")
depends_on("hipsparse", when="+rocm") depends_on("hipsparse", when="+rocm")
@ -109,7 +113,7 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage):
depends_on("coinhsl+blas", when="+sparse") depends_on("coinhsl+blas", when="+sparse")
depends_on("metis", when="+sparse") depends_on("metis", when="+sparse")
depends_on("ginkgo@glu+cuda", when="+ginkgo") depends_on("ginkgo@glu+cuda", when="+ginkgo+cuda")
conflicts( conflicts(
"+shared", "+shared",

View File

@ -133,7 +133,7 @@ def initconfig_package_entries(self):
spec = self.spec spec = self.spec
entries = [] 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)) entries.append(cmake_cache_path("BLT_SOURCE_DIR", spec["blt"].prefix))
if "camp" in self.spec: if "camp" in self.spec: