summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Hammond <jeff.science@gmail.com>2024-04-26 17:35:33 +0300
committerGitHub <noreply@github.com>2024-04-26 16:35:33 +0200
commit3e1474dbbb388ce99c94a63dbbbe2bd624c19c45 (patch)
tree3774a35d9b51e8dc595b8f0ea4499c2574945418
parent0f502bb6c390bcaf881dbb8e44fbd2a5ec2bf55d (diff)
downloadspack-3e1474dbbb388ce99c94a63dbbbe2bd624c19c45.tar.gz
spack-3e1474dbbb388ce99c94a63dbbbe2bd624c19c45.tar.bz2
spack-3e1474dbbb388ce99c94a63dbbbe2bd624c19c45.tar.xz
spack-3e1474dbbb388ce99c94a63dbbbe2bd624c19c45.zip
ARMCI-MPI: add new package (#43813)
Signed-off-by: Jeff Hammond <jeff.science@gmail.com> Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
-rw-r--r--var/spack/repos/builtin/packages/armci-mpi/package.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/armci-mpi/package.py b/var/spack/repos/builtin/packages/armci-mpi/package.py
new file mode 100644
index 0000000000..461487c8eb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/armci-mpi/package.py
@@ -0,0 +1,43 @@
+# 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 ArmciMpi(AutotoolsPackage):
+ """ARMCI-MPI is an implementation of the ARMCI library used by Global Arrays.
+ MPI-3 one-sided communication is used to implement ARMCI.
+ """
+
+ homepage = "https://github.com/pmodels/armci-mpi"
+ url = "https://github.com/pmodels/armci-mpi/archive/refs/tags/v0.4.tar.gz"
+
+ maintainers("jeffhammond")
+
+ license("BSD-3-Clause", checked_by="jeffhammond")
+
+ version("0.4", sha256="bcc3bb189b23bf653dcc69bc469eb86eae5ebc5ad94ab5f83e52ddbdbbebf1b1")
+ version(
+ "0.3.1-beta", sha256="f3eaa8f365fb55123ecd9ced401086b0732e37e4df592b27916d71a67ab34fe9"
+ )
+
+ variant("shared", default=True, description="Builds a shared version of the library")
+ variant("progress", default=False, description="Enable asynchronous progress")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+
+ depends_on("mpi")
+
+ def autoreconf(self, spec, prefix):
+ autoreconf("--install", "--verbose", "--force")
+
+ def configure_args(self):
+ args = ["--enable-g"]
+ args.extend(self.enable_or_disable("shared"))
+ args.extend(self.with_or_without("progress"))
+ return args