Skip to content

Extract the install prefix from the shared library. #52

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 58 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
1d867e8
VERSION: Mark this as the Open MPI PRRTE
jsquyres Mar 31, 2024
c975a75
Remove MacOS CI builds
rhc54 May 2, 2024
c434a36
Github action: bring back MacOS builds
jsquyres Jun 22, 2024
7693b66
Merge pull request #3 from hppritcha/fix-macos-tests
hppritcha Jul 11, 2024
1315332
Check the runtime version of PMIx
rhc54 May 18, 2024
8d833ac
Provide a warning of potentially unknown Slurm params
rhc54 Jul 10, 2024
c19e875
Minor fixes to allow compile with pre-stone age HWLOC
rhc54 Jul 2, 2024
f0bc7f2
Add support for PMIX_MEM_ALLOC_KIND
rhc54 May 2, 2024
5a0a68d
MPI 4.1: add support for memory-alloc-kinds
hppritcha May 2, 2024
225468c
Merge pull request #2 from hppritcha/upstream_pr_1982
hppritcha Jul 11, 2024
85de1b2
Merge pull request #5 from hppritcha/upstream_pr_1989
hppritcha Jul 11, 2024
adcf3af
Merge pull request #4 from hppritcha/upstream_pr_1993
hppritcha Jul 12, 2024
cf0bf17
Merge pull request #1 from hppritcha/add_memory_alloc_kinds
hppritcha Jul 12, 2024
bf14425
Repair the binding algorithm
rhc54 Apr 5, 2024
039aeea
Merge pull request #6 from hppritcha/upstream_pr_1963
hppritcha Jul 12, 2024
6a3ec4b
Protect against missing HWLOC object types
rhc54 Jul 3, 2024
8d0a25b
Merge pull request #7 from hppritcha/upstream_pr_1990
hppritcha Jul 12, 2024
545b6df
Fix a segfault when no arguments are provided
lrbison Sep 13, 2024
c2a94b5
Merge pull request #18 from lrbison/fix_no_args_segfault
hppritcha Sep 26, 2024
40fafc2
Protect against LTO optimizer
rhc54 Jul 19, 2024
19bbba9
Use the PMIx functions to check params
rhc54 Aug 4, 2024
d6c5896
docs: update for Python 3.12
rhc54 Sep 15, 2024
762568a
Merge pull request #20 from hppritcha/upstream_pr1997
hppritcha Sep 27, 2024
8da0632
Merge pull request #22 from hppritcha/upstream_pr2008
hppritcha Sep 30, 2024
41014c1
Merge pull request #21 from hppritcha/upstream_pr1999
hppritcha Sep 30, 2024
871b119
Remove unused function
rhc54 Aug 5, 2024
0aafdcc
Cleanup show_help formatting
rhc54 Sep 15, 2024
59d0dd7
Remove unused yaml
rhc54 Sep 17, 2024
a456028
Update prte_portable_platform_real.h from upstream gasnet
rhc54 Sep 30, 2024
17aadb7
Read The Docs updates
rhc54 Jul 18, 2024
d823030
Merge pull request #28 from hppritcha/upstream_pr2016
hppritcha Oct 1, 2024
608281d
Merge pull request #25 from hppritcha/upstream_pr2003
hppritcha Oct 1, 2024
a1622e3
Merge pull request #26 from hppritcha/upstream_pr2010
hppritcha Oct 1, 2024
f2a1cc7
Merge pull request #27 from hppritcha/upstream_pr2012
hppritcha Oct 1, 2024
13f6975
Merge pull request #29 from hppritcha/upstream_pr1995
hppritcha Oct 1, 2024
2741bd4
Pay attention to interface include/exclude params
rhc54 Oct 5, 2024
5c844a7
Protect against the envar version of the Slurm custom args param
rhc54 Oct 6, 2024
0f0a900
Merge pull request #37 from hppritcha/upstream_pr2030
hppritcha Oct 9, 2024
852efc8
Merge pull request #38 from hppritcha/upstream_pr2031
hppritcha Oct 21, 2024
86b1d03
Fix deprecation warnings for ppr on socket objects
rhc54 Oct 9, 2024
cafa80c
Merge pull request #40 from hppritcha/upstream_pr2033
hppritcha Oct 21, 2024
97c6092
Collapse the OOB framework
rhc54 Oct 12, 2024
b8d4e94
Raise min required HWLOC version to 2.1.0
rhc54 Oct 15, 2024
05a008e
Protect against uninitialized var
rhc54 Oct 23, 2024
cbf0215
Unlock stdin target
rhc54 Oct 15, 2024
70651c7
Restore parsing of OMPI param files
rhc54 Oct 16, 2024
1d49748
Merge pull request #42 from hppritcha/upstream_pr2035
hppritcha Oct 24, 2024
6a6b29f
Merge pull request #45 from hppritcha/upstream_pr2038
hppritcha Oct 24, 2024
01103f1
Merge pull request #43 from hppritcha/upstream_pr2040
hppritcha Oct 24, 2024
863732a
Restore NUMA tracking
rhc54 Oct 16, 2024
45f9a60
Remove the rtc framework
rhc54 Oct 4, 2024
f0d4efa
Merge pull request #41 from hppritcha/upstream_pr2028
hppritcha Oct 24, 2024
40163ef
Silence warning
rhc54 May 7, 2024
12093ff
Merge pull request #46 from hppritcha/upstream_pr2041
hppritcha Oct 28, 2024
1be5490
Merge pull request #47 from hppritcha/upstream_pr2043
hppritcha Oct 28, 2024
930e137
Merge pull request #44 from hppritcha/upstream_pr2053
hppritcha Oct 28, 2024
30cadc6
Merge pull request #48 from bosilca/upstream_pr1976
hppritcha Oct 28, 2024
5a07c66
Extract the install prefix from the shared library.
bosilca Mar 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 24 additions & 2 deletions .github/workflows/builds.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,16 @@ jobs:
- name: Build OpenPMIx
run: |
cd openpmix/master
# Homebrew doesn't install Libevent's (or libev's) header or
# library files into a default search location. Shrug. So
# use pkg-config to get the location and explicitly pass it to
# configure.
libevent_cppflags=$(pkg-config libevent --cflags)
libevent_ldflags=$(pkg-config libevent --libs | perl -pe 's/^.*(-L[^ ]+).*$/\1/')
./autogen.pl
./configure --prefix=$RUNNER_TEMP/pmixinstall
./configure --prefix=$RUNNER_TEMP/pmixinstall \
CPPFLAGS=$libevent_cppflags \
LDFLAGS=$libevent_ldflags
make -j
make install
- name: Git clone PRRTE
Expand All @@ -37,6 +45,11 @@ jobs:

sphinx=
if test "${{ matrix.sphinx }}" = sphinx; then
# The macos Github Action environment gets angry at us if
# we try to pip install into the global environment. So
# make a virtual environment and install sphinx into that.
python -m venv venv
. ./venv/bin/activate
pip3 install -r docs/requirements.txt
sphinx=--enable-sphinx
fi
Expand All @@ -48,7 +61,16 @@ jobs:
c=../configure
fi

$c --prefix=$RUNNER_TEMP/prteinstall --with-pmix=$RUNNER_TEMP/pmixinstall $sphinx
# Homebrew doesn't install Libevent's (or libev's) header or
# library files into a default search location. Shrug. So
# use pkg-config to get the location and explicitly pass it to
# configure.
libevent_cppflags=$(pkg-config libevent --cflags)
libevent_ldflags=$(pkg-config libevent --libs | perl -pe 's/^.*(-L[^ ]+).*$/\1/')

$c --prefix=$RUNNER_TEMP/prteinstall --with-pmix=$RUNNER_TEMP/pmixinstall $sphinx \
CPPFLAGS=$libevent_cppflags \
LDFLAGS=$libevent_ldflags
make -j
make install
make uninstall
Expand Down
65 changes: 0 additions & 65 deletions .github/workflows/close-stale-issues.yaml

This file was deleted.

30 changes: 0 additions & 30 deletions .github/workflows/remove-awaiting-user-info-label.yaml

This file was deleted.

4 changes: 2 additions & 2 deletions VERSION
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ release=0
# List in x.y.z format.

pmix_min_version=4.2.4
hwloc_min_version=1.11.0
hwloc_min_version=2.1.0
event_min_version=2.0.21
automake_min_version=1.13.4
autoconf_min_version=2.69.0
Expand All @@ -37,7 +37,7 @@ flex_min_version=2.5.4
# requirement is that it must be entirely printable ASCII characters
# and have no white space.

greek=a1
greek=ompi-a1

# If repo_rev is empty, then the repository version number will be
# obtained during "make dist" via the "git describe --tags --always"
Expand Down
14 changes: 13 additions & 1 deletion config/prte_check_cflags.m4
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2021 IBM Corporation. All rights reserved.
dnl
dnl Copyright (c) 2021 Nanook Consulting. All rights reserved.
dnl Copyright (c) 2021-2024 Nanook Consulting All rights reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
Expand Down Expand Up @@ -40,3 +40,15 @@ AC_MSG_CHECKING(if $CC supports ([$1]))
AC_MSG_RESULT([yes])
fi
])


AC_DEFUN([_PRTE_CHECK_LTO_FLAG], [
chkflg=`echo $1 | grep -- -flto`
if test -n "$chkflg"; then
AC_MSG_WARN([Configure has detected the presence of the -flto])
AC_MSG_WARN([compiler directive in $2. PRRTE does not currently])
AC_MSG_WARN([support this flag as it conflicts with the])
AC_MSG_WARN([plugin architecture of the PRRTE code base.])
AC_MSG_ERROR([Please remove this directive and re-run configure.])
fi
])
13 changes: 13 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -931,6 +931,19 @@ CPPFLAGS="$CPP_INCLUDES $CPPFLAGS $PRTE_FINAL_CPPFLAGS"
LDFLAGS="$LDFLAGS $PRTE_FINAL_LDFLAGS"
LIBS="$LIBS $PRTE_FINAL_LIBS"


# We do not currently support the "lto" optimizer as it
# aggregates all the headers from our plugins, resulting
# in a configuration that generates warnings/errors when
# passed through their optimizer phase. We therefore check
# for the flag, and if found, output a message explaining
# the situation and aborting configure
_PRTE_CHECK_LTO_FLAG($CPPFLAGS, CPPFLAGS)
_PRTE_CHECK_LTO_FLAG($CFLAGS, CFLAGS)
_PRTE_CHECK_LTO_FLAG($LDFLAGS, LDFLAGS)
_PRTE_CHECK_LTO_FLAG($LIBS, LIBS)


# restore any user-provided Werror flags
AS_IF([test ! -z "$PRTE_CFLAGS_cache"], [CFLAGS="$CFLAGS $PRTE_CFLAGS_cache"])

Expand Down
4 changes: 2 additions & 2 deletions contrib/scaling/scaling.pl
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@
push @starters, $starter;
$opt = $starteroptionlist[$idx] . " --npernode " . $ppn;
if ($multiplier gt 1) {
$opt = $opt . " --mca rtc ^hwloc --mca ras_base_multiplier " . $multiplier;
$opt = $opt . " --bind-to none --mca ras_base_multiplier " . $multiplier;
}
push @starteroptions, $opt;
} elsif ($useaprun && $starter eq "aprun") {
Expand Down Expand Up @@ -294,7 +294,7 @@ ()
if ($starter eq "prun") {
my $dvm = "prte-dvm --system-server";
if ($multiplier gt 1) {
$dvm = $dvm . " --mca rtc ^hwloc --mca ras_base_multiplier " . $multiplier;
$dvm = $dvm . " --bind-to none --mca ras_base_multiplier " . $multiplier;
}
# need to start it
print "##DVM: Launching $dvm\n";
Expand Down
9 changes: 9 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,15 @@
if key in os.environ and os.environ[key] == 'True':
print("PRRTE: found ReadTheDocs build environment")

# Tell Jinja2 templates the build is running on Read the Docs
if "html_context" not in globals():
html_context = {}
html_context["READTHEDOCS"] = True

# Define the canonical URL if you are using a custom domain on
# Read the Docs
html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "")

rtd_v = os.environ['READTHEDOCS_VERSION']
if os.environ['READTHEDOCS_VERSION_TYPE'] == 'external':
# Make "release" be shorter than the full "prte_ver" value.
Expand Down
4 changes: 2 additions & 2 deletions src/docs/show-help-files/build-dummy-ini-files.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# Copyright 2023 Jeffrey M. Squyres. All rights reserved.
#
# Copyright (c) 2023 Nanook Consulting. All rights reserved.
# Copyright (c) 2023-2024 Nanook Consulting All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
Expand Down Expand Up @@ -57,7 +57,7 @@
# Find all the "[section]" lines.
sections = list()
for line in src_rst:
match = re.search('\s*\[(.+)\]\s*$', line)
match = re.search(r"\s*\[(.+)\]\s*$", line)
if match:
sections.append(match.group(1))

Expand Down
1 change: 0 additions & 1 deletion src/docs/show-help-files/help-prte-hwloc-base.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ additional information may be of help:
.. code::

Message: %s
Cache level: %d

[missing-cpulist]

Expand Down
Loading
Loading