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:
parent
43be9a1ac1
commit
3a62f3aeae
@ -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)
|
||||||
|
@ -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",
|
||||||
|
@ -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:
|
||||||
|
Loading…
Reference in New Issue
Block a user