From 5a939d9c94e5723c310f6680edc038825c0b4f99 Mon Sep 17 00:00:00 2001 From: ryandanehy <110119005+ryandanehy@users.noreply.github.com> Date: Thu, 27 Oct 2022 08:14:09 -0700 Subject: exago, hiop: propagate build type (#32750) --- var/spack/repos/builtin/packages/exago/package.py | 38 +++++++++++++++++++++-- var/spack/repos/builtin/packages/hiop/package.py | 2 +- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/var/spack/repos/builtin/packages/exago/package.py b/var/spack/repos/builtin/packages/exago/package.py index b85f72e9d8..06c3ad8173 100644 --- a/var/spack/repos/builtin/packages/exago/package.py +++ b/var/spack/repos/builtin/packages/exago/package.py @@ -13,7 +13,7 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://gitlab.pnnl.gov/exasgd/frameworks/exago" git = "https://gitlab.pnnl.gov/exasgd/frameworks/exago.git" - maintainers = ["ashermancinelli", "CameronRutherford", "pelesh"] + maintainers = ["ryandanehy", "CameronRutherford", "pelesh"] version( "1.4.1", commit="ea607c685444b5f345bfdc9a59c345f0f30adde2", submodules=True, preferred=True @@ -46,7 +46,7 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage): conflicts("~hiop~ipopt", msg="ExaGO needs at least one solver enabled") - # Dependencides + # Dependencies depends_on("pkgconfig", type="build") depends_on("mpi", when="+mpi") depends_on("blas") @@ -62,6 +62,40 @@ class Exago(CMakePackage, CudaPackage, ROCmPackage): depends_on("cmake@3.18:", type="build") + # Profiling + depends_on( + "hiop+deepchecking build_type=RelWithDebInfo", when="+hiop build_type=RelWithDebInfo" + ) + depends_on("hiop~deepchecking build_type=Release ", when="+hiop build_type=Release ") + + # Control the package's build-type depending on the release or debug flag + for pkg in [ + ("raja", "raja"), + ("umpire", "raja"), + ("magma", "hiop+cuda"), + ("magma", "hiop+rocm"), + ("camp", "raja"), + ]: + depends_on( + "{0} build_type=Release".format(pkg[0]), when="+{0} build_type=Release".format(pkg[1]) + ) + depends_on( + "{0} build_type=RelWithDebInfo".format(pkg[0]), + when="+{0} build_type=RelWithDebInfo".format(pkg[1]), + ) + + depends_on( + "{0} build_type=Release".format("hiop+ginkgo ^ginkgo"), + when="+{0} build_type=Release".format("hiop ^hiop+ginkgo"), + ) + depends_on( + "{0} build_type=Debug".format("hiop+ginkgo ^ginkgo"), + when="+{0} build_type=RelWithDebInfo".format("hiop ^hiop+ginkgo"), + ) + # depends_on("hpctoolkit", when="with_profiling=hpctoolkit") + # depends_on("tau", when="with_profiling=tau") + # ^ need to depend when both hpctoolkit and tau + # HiOp dependency logic depends_on("hiop+raja", when="+hiop+raja") depends_on("hiop@0.3.99:", when="@0.99:+hiop") diff --git a/var/spack/repos/builtin/packages/hiop/package.py b/var/spack/repos/builtin/packages/hiop/package.py index 4789728010..16325dd520 100644 --- a/var/spack/repos/builtin/packages/hiop/package.py +++ b/var/spack/repos/builtin/packages/hiop/package.py @@ -19,7 +19,7 @@ class Hiop(CMakePackage, CudaPackage, ROCmPackage): homepage = "https://github.com/LLNL/hiop" git = "https://github.com/LLNL/hiop.git" - maintainers = ["ashermancinelli", "CameronRutherford", "pelesh"] + maintainers = ["ryandanehy", "CameronRutherford", "pelesh"] # Most recent tagged snapshot is the preferred version when profiling. version("0.7.1", commit="8064ef6b2249ad2feca92a9d1e90060bad3eebc7", submodules=True) -- cgit v1.2.3-60-g2f50