From c1450d26ff3cf566b43762aee6e0edff5b1dfd2a Mon Sep 17 00:00:00 2001 From: fpruvost Date: Thu, 1 Feb 2024 22:00:14 +0100 Subject: Add new package Qrmumps (#42393) --- .../repos/builtin/packages/qrmumps/package.py | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 var/spack/repos/builtin/packages/qrmumps/package.py (limited to 'var') diff --git a/var/spack/repos/builtin/packages/qrmumps/package.py b/var/spack/repos/builtin/packages/qrmumps/package.py new file mode 100644 index 0000000000..d026958928 --- /dev/null +++ b/var/spack/repos/builtin/packages/qrmumps/package.py @@ -0,0 +1,50 @@ +# Copyright 2013-2024 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 Qrmumps(CMakePackage): + """a software package for the solution of sparse, linear systems on + multicore computers based on the QR factorization of the input matrix.""" + + homepage = "https://gitlab.com/qr_mumps/qr_mumps" + git = "https://gitlab.com/qr_mumps/qr_mumps" + url = "https://gitlab.com/qr_mumps/qr_mumps/-/archive/3.0.4/qr_mumps-3.0.4.tar.gz" + maintainers("fpruvost") + + version("master", branch="master") + version("3.0.4", sha256="621a294c3bf1e60e4ea6ae29c0586760648947f650e0f86bbabaf82805fc17db") + + variant("amd", default=True, description="Enable AMD ordering") + variant("metis", default=True, description="Enable Metis ordering") + variant("scotch", default=True, description="Enable Scotch ordering") + variant("starpu", default=True, description="Enable StarPU runtime system support") + variant("cuda", default=False, when="+starpu", description="Enable StarPU+CUDA") + variant("fxt", default=False, when="+starpu", description="Enable FxT tracing through StarPU") + + depends_on("pkgconfig", type="build") + depends_on("blas") + depends_on("lapack") + depends_on("suite-sparse", when="+amd") + depends_on("metis", when="+metis") + depends_on("scotch", when="+scotch") + depends_on("starpu", when="+starpu") + depends_on("cuda", when="+starpu+cuda") + depends_on("starpu+cuda", when="+starpu+cuda") + depends_on("starpu+fxt", when="+starpu+fxt") + + def cmake_args(self): + args = [ + self.define("BUILD_SHARED_LIBS", True), + self.define_from_variant("QRM_ORDERING_AMD", "amd"), + self.define_from_variant("QRM_ORDERING_SCOTCH", "scotch"), + self.define_from_variant("QRM_ORDERING_METIS", "metis"), + self.define_from_variant("QRM_WITH_STARPU", "starpu"), + self.define_from_variant("QRM_WITH_CUDA", "cuda"), + ] + + return args -- cgit v1.2.3-70-g09d2