summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorJack Morrison <jack.morrison@cornelisnetworks.com>2024-04-26 04:26:21 -0700
committerGitHub <noreply@github.com>2024-04-26 07:26:21 -0400
commit6e92b9180ca3215978d049ec5ad0d81fa166c4c9 (patch)
treec65c202a4aaa26e4b0c87990af3bb99e54ea225a /var
parentac9012da0c0abb02dd2f7983b20bbadef5c596f7 (diff)
downloadspack-6e92b9180ca3215978d049ec5ad0d81fa166c4c9.tar.gz
spack-6e92b9180ca3215978d049ec5ad0d81fa166c4c9.tar.bz2
spack-6e92b9180ca3215978d049ec5ad0d81fa166c4c9.tar.xz
spack-6e92b9180ca3215978d049ec5ad0d81fa166c4c9.zip
Add `tests-sos` package + Variants to `sos` package (#43830)
* * Add initial tests-sos package * Remove failing call of missing setup_compiler_environment from sos package * Add several variants for sos package * [@spackbot] updating style on behalf of jack-morrison
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/sos/package.py46
-rw-r--r--var/spack/repos/builtin/packages/tests-sos/package.py32
2 files changed, 76 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/sos/package.py b/var/spack/repos/builtin/packages/sos/package.py
index fc3465624b..3f9ff87b37 100644
--- a/var/spack/repos/builtin/packages/sos/package.py
+++ b/var/spack/repos/builtin/packages/sos/package.py
@@ -24,12 +24,47 @@ class Sos(AutotoolsPackage):
variant("xpmem", default=False, description="Enable xpmem for transport")
variant("ofi", default=True, description="Enable ofi for transport")
+ variant(
+ "manual-progress",
+ default=False,
+ description="Enable intermittent progress calls in transport layer",
+ )
+ variant(
+ "ofi-manual-progress",
+ default=False,
+ when="+ofi",
+ description="Use FI_MANUAL_PROGRESS for data progress control mode",
+ )
variant("shr-atomics", default=False, description="Enable shared memory atomic operations")
+ variant(
+ "av-map",
+ default=False,
+ description="Enable av-map instead of av-table in the OFI transport",
+ )
+ variant(
+ "completion-polling",
+ default=False,
+ description="Enable polling in quiet, fence, and local completion operations",
+ )
+ variant(
+ "thread-completion",
+ default=False,
+ description="Support SHMEM_THREAD_MULTIPLE in OFI transport using FI_THREAD_COMPLETION",
+ )
+ variant("error-checking", default=False, description="Enable error checking for SHMEM calls")
+ variant(
+ "lengthy-tests",
+ default=False,
+ description="Execute long running tests as part of 'make check'",
+ )
+ variant("rpath", default=True, description="Use rpath in compiler wrappers ")
+ variant("hard-polling", default=False, description="Enable hard polling of wait calls")
depends_on("autoconf", type="build")
depends_on("automake", type="build")
depends_on("libtool", type="build")
depends_on("m4", type="build")
+ depends_on("hydra", type=("build", "run"), when="+ofi")
depends_on("libfabric", type="link", when="+ofi")
depends_on("xpmem", type="link", when="+xpmem")
@@ -39,8 +74,6 @@ class Sos(AutotoolsPackage):
filter_compiler_wrappers("oshcc", "oshc++", "oshcc", "oshfort", relative_root="bin")
def setup_dependent_build_environment(self, env, dependent_spec):
- self.setup_compiler_environment(env)
-
# Enable the osh wrappers to use spack wrappers when inside spack
# with env variables
env.set("SHMEM_CC", spack_cc)
@@ -57,5 +90,14 @@ class Sos(AutotoolsPackage):
args.extend(self.with_or_without("ofi"))
# This option is not compatiable with remote atomics
args.extend(self.enable_or_disable("shr-atomics"))
+ args.extend(self.enable_or_disable("av-map"))
+ args.extend(self.enable_or_disable("completion-polling"))
+ args.extend(self.enable_or_disable("thread-completion"))
+ args.extend(self.enable_or_disable("error-checking"))
+ args.extend(self.enable_or_disable("lengthy-tests"))
+ args.extend(self.enable_or_disable("rpath"))
+ args.extend(self.enable_or_disable("manual-progress"))
+ args.extend(self.enable_or_disable("ofi-manual-progress"))
+ args.extend(self.enable_or_disable("hard-polling"))
args.append("--enable-pmi-simple")
return args
diff --git a/var/spack/repos/builtin/packages/tests-sos/package.py b/var/spack/repos/builtin/packages/tests-sos/package.py
new file mode 100644
index 0000000000..e83d83ba36
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tests-sos/package.py
@@ -0,0 +1,32 @@
+# 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 TestsSos(AutotoolsPackage):
+ """Sandia OpenSHMEM unit tests and performance testing suite."""
+
+ homepage = "https://github.com/openshmem-org/tests-sos"
+ url = "https://github.com/openshmem-org/tests-sos/archive/refs/tags/v1.5.2.tar.gz"
+
+ maintainers("jack-morrison")
+
+ version("1.5.2", sha256="3a063963ef779419aadc6b21ff2f1e4dcdd3e95fa8ed23545434e56757f3187f")
+
+ depends_on("autoconf", type="build")
+ depends_on("automake", type="build")
+ depends_on("libtool", type="build")
+ depends_on("m4", type="build")
+ depends_on("sos", type=("build", "run"))
+
+ def autoreconf(self, spec, prefix):
+ bash = which("bash")
+ bash("./autogen.sh")
+
+ def setup_build_environment(self, env):
+ env.set("CC", "oshcc")
+ env.set("CXX", "oshc++")
+ env.set("FC", "oshfort")