From 26a74bb3bca700522dfd4b75976254fe29517cb0 Mon Sep 17 00:00:00 2001 From: "Samuel K. GutiƩrrez" Date: Thu, 20 Jul 2023 13:07:36 -0600 Subject: Add Quo-Vadis package. (#38998) Signed-off-by: Samuel K. Gutierrez --- .../repos/builtin/packages/quo-vadis/package.py | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 var/spack/repos/builtin/packages/quo-vadis/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/quo-vadis/package.py b/var/spack/repos/builtin/packages/quo-vadis/package.py new file mode 100644 index 0000000000..029b4926c9 --- /dev/null +++ b/var/spack/repos/builtin/packages/quo-vadis/package.py @@ -0,0 +1,55 @@ +# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +from spack.package import * + + +class QuoVadis(CMakePackage): + """A cross-stack coordination layer to dynamically + map runtime components to hardware resources""" + + homepage = "https://github.com/hpc/quo-vadis" + git = "https://github.com/hpc/quo-vadis.git" + + maintainers("samuelkgutierrez") + + version("master", branch="master") + + variant("fortran", default=True, description="Build with Fortran bindings") + variant("mpi", default=True, description="Build with MPI support") + variant("mpipat", default=False, description="Affirm MPI processes are threads") + variant("omp", default=True, description="Build with OpenMP support") + + variant( + "gpu", + values=("nvidia", "amd", "none"), + default="none", + multi=True, + description="Build with GPU support", + ) + + depends_on("libzmq") + + with when("+mpi"): + depends_on("mpi") + + with when("gpu=nvidia"): + depends_on("libpciaccess") + depends_on("cuda") + + with when("gpu=amd"): + depends_on("libpciaccess") + depends_on("rocm-smi-lib") + + def cmake_args(self): + spec = self.spec + + return [ + self.define_from_variant("QV_FORTRAN_SUPPORT", "fortran"), + self.define_from_variant("QV_MPI_SUPPORT", "mpi"), + self.define_from_variant("QV_MPI_PROCESSES_ARE_THREADS", "mpipat"), + self.define_from_variant("QV_OMP_SUPPORT", "omp"), + self.define("QV_GPU_SUPPORT", not spec.satisfies("gpu=none")), + ] -- cgit v1.2.3-60-g2f50