Skip to content

Build failure on Apple Silicon #8410

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

Closed
fxcoudert opened this issue Jan 23, 2021 · 24 comments
Closed

Build failure on Apple Silicon #8410

fxcoudert opened this issue Jan 23, 2021 · 24 comments
Milestone

Comments

@fxcoudert
Copy link

Background information

What version of Open MPI are you using?

4.1.0 from official sources

Please describe the system on which you are running

  • Operating system/version: macOS 11
  • Computer hardware: Apple Silicon (aarch64-appel-darwin20)
  • Compiler: clang 12 (from Apple)

Details of the problem

Homebrew/homebrew-core#67367 (comment)
Compiling open-mpi 4.1.0 on Apple Silicon (aarch64-appel-darwin20) fails with build errors:

2020-12-28T16:04:59.0201020Z In file included from pmix_mca_base_close.c:26:
2020-12-28T16:04:59.0202550Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/util/output.h:76:
2020-12-28T16:04:59.0204530Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_object.h:131:
2020-12-28T16:04:59.0206570Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/threads/thread_usage.h:31:
2020-12-28T16:04:59.0208620Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/atomic.h:168:
2020-12-28T16:04:59.0211330Z /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/gcc_builtin/atomic.h:197:12: error: address argument to atomic operation must be a pointer to integer or pointer ('pmix_atomic_int128_t *' (aka '_Atomic(pmix_int128_t) *') invalid)
2020-12-28T16:04:59.0213200Z     return __atomic_compare_exchange_n (addr, oldval, newval, false,
2020-12-28T16:04:59.0213870Z            ^                            ~~~~
2020-12-28T16:04:59.0214520Z In file included from pmix_mca_base_component_compare.c:25:
2020-12-28T16:04:59.0216100Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/mca/base/base.h:31:
2020-12-28T16:04:59.0218100Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_object.h:131:
2020-12-28T16:04:59.0220120Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/threads/thread_usage.h:31:
2020-12-28T16:04:59.0222180Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/atomic.h:168:
2020-12-28T16:04:59.0224880Z /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/gcc_builtin/atomic.h:197:12: error: address argument to atomic operation must be a pointer to integer or pointer ('pmix_atomic_int128_t *' (aka '_Atomic(pmix_int128_t) *') invalid)
2020-12-28T16:04:59.0226740Z     return __atomic_compare_exchange_n (addr, oldval, newval, false,
2020-12-28T16:04:59.0227410Z            ^                            ~~~~
2020-12-28T16:04:59.0228090Z In file included from pmix_mca_base_component_repository.c:38:
2020-12-28T16:04:59.0229710Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_list.h:77:
2020-12-28T16:04:59.0231700Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_object.h:131:
2020-12-28T16:04:59.0233710Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/threads/thread_usage.h:31:
2020-12-28T16:04:59.0235740Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/atomic.h:168:
2020-12-28T16:04:59.0238400Z /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/gcc_builtin/atomic.h:197:12: error: address argument to atomic operation must be a pointer to integer or pointer ('pmix_atomic_int128_t *' (aka '_Atomic(pmix_int128_t) *') invalid)
2020-12-28T16:04:59.0240220Z     return __atomic_compare_exchange_n (addr, oldval, newval, false,
2020-12-28T16:04:59.0240950Z            ^                            ~~~~
2020-12-28T16:04:59.0241510Z In file included from pmix_mca_base_cmd_line.c:26:
2020-12-28T16:04:59.0243000Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/util/cmd_line.h:121:
2020-12-28T16:04:59.0244970Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_object.h:131:
2020-12-28T16:04:59.0247010Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/threads/thread_usage.h:31:
2020-12-28T16:04:59.0249020Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/atomic.h:168:
2020-12-28T16:04:59.0251730Z /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/gcc_builtin/atomic.h:197:12: error: address argument to atomic operation must be a pointer to integer or pointer ('pmix_atomic_int128_t *' (aka '_Atomic(pmix_int128_t) *') invalid)
2020-12-28T16:04:59.0253560Z     return __atomic_compare_exchange_n (addr, oldval, newval, false,
2020-12-28T16:04:59.0254200Z            ^                            ~~~~
2020-12-28T16:04:59.0254830Z In file included from pmix_mca_base_components_open.c:31:
2020-12-28T16:04:59.0256380Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_list.h:77:
2020-12-28T16:04:59.0258360Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_object.h:131:
2020-12-28T16:04:59.0260350Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/threads/thread_usage.h:31:
2020-12-28T16:04:59.0262360Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/atomic.h:168:
2020-12-28T16:04:59.0265020Z /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/gcc_builtin/atomic.h:197:12: error: address argument to atomic operation must be a pointer to integer or pointer ('pmix_atomic_int128_t *' (aka '_Atomic(pmix_int128_t) *') invalid)
2020-12-28T16:04:59.0266840Z     return __atomic_compare_exchange_n (addr, oldval, newval, false,
2020-12-28T16:04:59.0267950Z /opt/homebrew/Library/Homebrew/shims/scm/git --version
2020-12-28T16:04:59.0268580Z            ^                            ~~~~
2020-12-28T16:04:59.0269050Z 1 error generated.
2020-12-28T16:04:59.0269700Z In file included from pmix_mca_base_component_find.c:49:
2020-12-28T16:04:59.0271380Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/mca/pinstalldirs/pinstalldirs.h:21:
2020-12-28T16:04:59.0273440Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/mca/base/base.h:31:
2020-12-28T16:04:59.0275410Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_object.h:131:
2020-12-28T16:04:59.0277420Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/threads/thread_usage.h:31:
2020-12-28T16:04:59.0279430Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/atomic.h:168:
2020-12-28T16:04:59.0282090Z /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/gcc_builtin/atomic.h:197:12: error: address argument to atomic operation must be a pointer to integer or pointer ('pmix_atomic_int128_t *' (aka '_Atomic(pmix_int128_t) *') invalid)
2020-12-28T16:04:59.0283900Z     return __atomic_compare_exchange_n (addr, oldval, newval, false,
2020-12-28T16:04:59.0284550Z            ^                            ~~~~
2020-12-28T16:04:59.0285260Z In file included from pmix_mca_base_components_close.c:25:
2020-12-28T16:04:59.0286810Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_list.h:77:
2020-12-28T16:04:59.0288780Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_object.h:131:
2020-12-28T16:04:59.0290910Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/threads/thread_usage.h:31:
2020-12-28T16:04:59.0292030Z 1 error generated.
2020-12-28T16:04:59.0293450Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/atomic.h:168:
2020-12-28T16:04:59.0296100Z /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/gcc_builtin/atomic.h:197:12: error: address argument to atomic operation must be a pointer to integer or pointer ('pmix_atomic_int128_t *' (aka '_Atomic(pmix_int128_t) *') invalid)
2020-12-28T16:04:59.0297920Z     return __atomic_compare_exchange_n (addr, oldval, newval, false,
2020-12-28T16:04:59.0298580Z            ^                            ~~~~
2020-12-28T16:04:59.0299040Z 1 error generated.
2020-12-28T16:04:59.0299620Z make[5]: *** [pmix_mca_base_close.lo] Error 1
2020-12-28T16:04:59.0300270Z make[5]: *** Waiting for unfinished jobs....
2020-12-28T16:04:59.0300860Z 1 error generated.
2020-12-28T16:04:59.0301380Z 1 error generated.
2020-12-28T16:04:59.0302060Z make[5]: *** [pmix_mca_base_component_repository.lo] Error 1
2020-12-28T16:04:59.0302880Z make[5]: *** [pmix_mca_base_component_compare.lo] Error 1
2020-12-28T16:04:59.0303590Z make[5]: *** [pmix_mca_base_cmd_line.lo] Error 1
2020-12-28T16:04:59.0304290Z make[5]: *** [pmix_mca_base_components_open.lo] Error 1
2020-12-28T16:04:59.0304910Z 1 error generated.
2020-12-28T16:04:59.0305430Z 1 error generated.
2020-12-28T16:04:59.0306120Z In file included from pmix_mca_base_components_select.c:25:
2020-12-28T16:04:59.0307690Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_list.h:77:
2020-12-28T16:04:59.0309650Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/class/pmix_object.h:131:
2020-12-28T16:04:59.0311660Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/threads/thread_usage.h:31:
2020-12-28T16:04:59.0313650Z In file included from /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/atomic.h:168:
2020-12-28T16:04:59.0316300Z /private/tmp/open-mpi-20201228-52672-1jln4sf/openmpi-4.1.0/opal/mca/pmix/pmix3x/pmix/src/atomics/sys/gcc_builtin/atomic.h:197:12: error: address argument to atomic operation must be a pointer to integer or pointer ('pmix_atomic_int128_t *' (aka '_Atomic(pmix_int128_t) *') invalid)
2020-12-28T16:04:59.0318120Z     return __atomic_compare_exchange_n (addr, oldval, newval, false,
2020-12-28T16:04:59.0318770Z            ^                            ~~~~
2020-12-28T16:04:59.0319360Z make[5]: *** [pmix_mca_base_components_close.lo] Error 1
2020-12-28T16:04:59.0320100Z make[5]: *** [pmix_mca_base_component_find.lo] Error 1
2020-12-28T16:04:59.0320820Z 1 error generated.
2020-12-28T16:04:59.0321470Z make[5]: *** [pmix_mca_base_components_select.lo] Error 1
2020-12-28T16:04:59.0322410Z make[4]: *** [all-recursive] Error 1
2020-12-28T16:04:59.0323300Z make[3]: *** [all-recursive] Error 1
2020-12-28T16:04:59.0324180Z make[2]: *** [all-recursive] Error 1
2020-12-28T16:04:59.0325050Z make[1]: *** [all-recursive] Error 1
2020-12-28T16:04:59.0325940Z make: *** [all-recursive] Error 1
@fxcoudert
Copy link
Author

--disable-builtin-atomics as suggested by @ggouaillardet does not avoid the issue

@hjelmn
Copy link
Member

hjelmn commented Jan 23, 2021

Hmmm. Let me take a look. master builds fine on the M1 but I rarely ever build releases.

@ggouaillardet
Copy link
Contributor

@fxcoudert thanks for the report.

the logs you posted are related to PMIx using the GCC builtin atomics.
did you use --disable-builtin-atomics to generate them?

if so, the error might be that Open MPI does not pass --disable-builtin-atomics to PMIx configure
(you can check that in opal/mca/pmix/pmix3x/pmix/config.status)

@hjelmn
Copy link
Member

hjelmn commented Jan 24, 2021

@ggouaillardet We shouldn't be failing even without that option. The gcc builtins are inferior on Apple Silicon so they should really be disable on AArch64 in v4.1.0. For master C11 should be used.

@hjelmn
Copy link
Member

hjelmn commented Jan 24, 2021

I really need to refactor the atomic support. Even when using C11 I still want the LL/SC atomics to be available. The LL/SC lifo/fifo implementations are ~ 2x the speed of the CAS128 implementations (measured on Power 8). C11 and builtins do not provide direct access to them. CAS is an Intel thing.

@hjelmn
Copy link
Member

hjelmn commented Jan 24, 2021

Hmm, the v4.1.x branch builds just fine for me.

$ ../configure --prefix=/tmp/ompi --disable-mpi-fortran --disable-oshmem &> config.out
$ make -j 32 &> make.out
$ echo $?
0
$ git branch
  master
* v4.1.x
$ uname -a
Darwin Mac-mini.local 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 14 14:38:22 PST 2021; root:xnu-7195.81.2~2/RELEASE_ARM64_T8101 arm64

@fxcoudert
Copy link
Author

With run configure with ./configure --prefix=/opt/homebrew/Cellar/open-mpi/4.1.0 --disable-dependency-tracking --disable-silent-rules --enable-ipv6 --enable-mca-no-build=op-avx,reachable-netlink --with-libevent=/opt/homebrew/opt/libevent --with-sge --disable-builtin-atomics, with clang as C compiler and gfortran as Fortran compiler

@hjelmn
Copy link
Member

hjelmn commented Jan 25, 2021

@fxcoudert Odd. I will try to build with all those options but fortran. It is a cancer on MPI :) and shouldn't have an impact on building PMIx.

@hjelmn
Copy link
Member

hjelmn commented Jan 25, 2021

What I may do is update just v4.0.x and v4.1.x to never select the builtins for AArch64. master will get an update to not use CAS128.

LL/SC:

Mac-mini:class hjelmn$ ./opal_lifo  -t 1
Single thread test. Time: 0 s 13621 us 13 nsec/poppush
Atomics thread finished. Time: 0 s 14375 us 14 nsec/poppush
Atomics thread finished. Time: 0 s 154525 us 154 nsec/poppush
Atomics thread finished. Time: 0 s 154661 us 154 nsec/poppush
Atomics thread finished. Time: 0 s 156505 us 156 nsec/poppush
Atomics thread finished. Time: 0 s 157013 us 157 nsec/poppush
Atomics thread finished. Time: 0 s 157493 us 157 nsec/poppush
Atomics thread finished. Time: 0 s 158275 us 158 nsec/poppush
Atomics thread finished. Time: 0 s 158647 us 158 nsec/poppush
Atomics thread finished. Time: 0 s 158973 us 158 nsec/poppush
All threads finished. Thread count: 8 Time: 0 s 159023 us 19 nsec/poppush
SUPPORT: OMPI Test Passed: opal_lifo_t: (7 tests)

CAS128:

Mac-mini:class hjelmn$ ./opal_lifo  -t 1
Single thread test. Time: 0 s 25688 us 25 nsec/poppush
Atomics thread finished. Time: 0 s 29322 us 29 nsec/poppush
Atomics thread finished. Time: 4 s 57595 us 4057 nsec/poppush
Atomics thread finished. Time: 4 s 151568 us 4151 nsec/poppush
Atomics thread finished. Time: 4 s 162332 us 4162 nsec/poppush
Atomics thread finished. Time: 4 s 173651 us 4173 nsec/poppush
Atomics thread finished. Time: 4 s 176088 us 4176 nsec/poppush
Atomics thread finished. Time: 4 s 178025 us 4178 nsec/poppush
Atomics thread finished. Time: 4 s 178713 us 4178 nsec/poppush
Atomics thread finished. Time: 4 s 178760 us 4178 nsec/poppush
All threads finished. Thread count: 8 Time: 4 s 178830 us 522 nsec/poppush
SUPPORT: OMPI Test Passed: opal_lifo_t: (7 tests)

Not even a contest.

@hjelmn
Copy link
Member

hjelmn commented Jan 25, 2021

Simlarly bad with opal_fifo:

LL/SC

Mac-mini:class hjelmn$ ./opal_fifo 
Single thread test. Time: 0 s 7620 us 7 nsec/poppush
Atomics thread finished. Time: 0 s 7918 us 7 nsec/poppush
Atomics thread finished. Time: 0 s 76081 us 76 nsec/poppush
Atomics thread finished. Time: 0 s 79458 us 79 nsec/poppush
Atomics thread finished. Time: 0 s 84994 us 84 nsec/poppush
Atomics thread finished. Time: 0 s 90103 us 90 nsec/poppush
Atomics thread finished. Time: 0 s 90403 us 90 nsec/poppush
Atomics thread finished. Time: 0 s 91280 us 91 nsec/poppush
Atomics thread finished. Time: 0 s 92466 us 92 nsec/poppush
Atomics thread finished. Time: 0 s 93835 us 93 nsec/poppush
All threads finished. Thread count: 8 Time: 0 s 93916 us 11 nsec/poppush
Exhaustive atomics thread finished. Popped 821530 items. Time: 0 s 107912 us 131 nsec/poppush
Exhaustive atomics thread finished. Popped 810445 items. Time: 0 s 114695 us 141 nsec/poppush
Exhaustive atomics thread finished. Popped 806449 items. Time: 0 s 116241 us 144 nsec/poppush
Exhaustive atomics thread finished. Popped 813960 items. Time: 0 s 117182 us 143 nsec/poppush
Exhaustive atomics thread finished. Popped 825230 items. Time: 0 s 118810 us 143 nsec/poppush
Exhaustive atomics thread finished. Popped 826685 items. Time: 0 s 119486 us 144 nsec/poppush
Exhaustive atomics thread finished. Popped 828373 items. Time: 0 s 120327 us 145 nsec/poppush
Exhaustive atomics thread finished. Popped 830266 items. Time: 0 s 121114 us 145 nsec/poppush
All threads finished. Thread count: 8 Time: 0 s 121186 us 15 nsec/poppush
SUPPORT: OMPI Test Passed: opal_fifo_t: (8 tests)

CAS128:

Mac-mini:class hjelmn$ ./opal_fifo 
Single thread test. Time: 0 s 7611 us 7 nsec/poppush
Atomics thread finished. Time: 0 s 19256 us 19 nsec/poppush
Atomics thread finished. Time: 2 s 555095 us 2555 nsec/poppush
Atomics thread finished. Time: 2 s 562521 us 2562 nsec/poppush
Atomics thread finished. Time: 2 s 570284 us 2570 nsec/poppush
Atomics thread finished. Time: 2 s 570760 us 2570 nsec/poppush
Atomics thread finished. Time: 2 s 571438 us 2571 nsec/poppush
Atomics thread finished. Time: 2 s 573642 us 2573 nsec/poppush
Atomics thread finished. Time: 2 s 575019 us 2575 nsec/poppush
Atomics thread finished. Time: 2 s 575161 us 2575 nsec/poppush
All threads finished. Thread count: 8 Time: 2 s 575231 us 321 nsec/poppush
Exhaustive atomics thread finished. Popped 639525 items. Time: 1 s 828167 us 2858 nsec/poppush
Exhaustive atomics thread finished. Popped 642578 items. Time: 1 s 840312 us 2863 nsec/poppush
Exhaustive atomics thread finished. Popped 641617 items. Time: 1 s 846852 us 2878 nsec/poppush
Exhaustive atomics thread finished. Popped 639283 items. Time: 1 s 849705 us 2893 nsec/poppush
Exhaustive atomics thread finished. Popped 646423 items. Time: 1 s 851183 us 2863 nsec/poppush
Exhaustive atomics thread finished. Popped 645146 items. Time: 1 s 851750 us 2870 nsec/poppush
Exhaustive atomics thread finished. Popped 645428 items. Time: 1 s 852076 us 2869 nsec/poppush
Exhaustive atomics thread finished. Popped 648267 items. Time: 1 s 852240 us 2857 nsec/poppush
All threads finished. Thread count: 8 Time: 1 s 852359 us 231 nsec/poppush
SUPPORT: OMPI Test Passed: opal_fifo_t: (8 tests)

@jsquyres jsquyres added this to the v4.1.1 milestone Jan 25, 2021
@fxcoudert
Copy link
Author

I've uploaded our full build log at https://gist.github.com/fxcoudert/0710566fc631546b7a5ad496dabcb747
so you can check what is happening.

One weird thing is checking for builtin atomics... BUILTIN_GCC because we're using clang as C compiler.

@hjelmn
Copy link
Member

hjelmn commented Jan 25, 2021

@fxcoudert That is because clang implements the gcc builtin atomics (__atomic_*). They are now used in Open MPI over the older Intel __sync_* atomics. I think we defaulted to the builtins for v4.x. This appears to have been a mistake for AArch64 as the performance is definitely worse.

@ggouaillardet
Copy link
Contributor

@hjelmn

from the logs posted by @fxcoudert I noted:

checking for assembly architecture... UNSUPPORTED

I quickly checked config/opal_config_asm.m4, and indeed, we do not support M1:

checking host system type... arm-apple-darwin20.2.0

right after,

checking for builtin atomics... BUILTIN_SYNC

so we could have two issues in Open MPI:

  • M1 (e.g. host=arm-apple-darwin20.2.0 is not supported
  • we (seem to) fallback to builtin atomics, even if --disable-builtin-atomics was passed on the configure command line
    (note this is an observation from the logs, and I did not dig into the sources to confirm that).

@fxcoudert
Copy link
Author

The triplet for that arch should not be arm-apple-darwin20.2.0 but aarch64-apple-darwin20.2.0 (https://github.com/gcc-mirror/gcc/blob/5a36cae275ad84cc7e623f2f5829bdad767e3f6a/config.guess#L1345)

Therefore config.{guess,sub} need to be updated: https://www.gnu.org/software/gettext/manual/html_node/config_002eguess.html

@ggouaillardet
Copy link
Contributor

@fxcoudert thanks for the pointer!

@jsquyres any advice on how we should handle that?

my best bet is we should patch config.{guess, sub} the same way we patch configure to correctly handle third party dependencies.

@jsquyres
Copy link
Member

jsquyres commented Jan 26, 2021

Just to be clear -- are we saying that the upstream config.sub / config.guess files include the now-correct notation aarch64-apple-darwin20.2.0?

If so, we should probably stash copies of them in our git repo and just cp them to the appropriate places during autogen.pl. We used to do something like this (we would wget the most recent config.* files during autogen, but that's not really good for repeatability -- stashing known-good versions in git is probably a better scheme).

That being said, we should probably only conditionally cp / replace the config.* files that autoconf and friends install: i.e., do a version check of what we have in git vs. the what is installed by autoconf and friends, and use whichever one is newer.

@bwbarrett
Copy link
Member

I don't think we should include config.guess and config.sub in git. One day, autoconf's will be newer and then we'll have a real problem. There is a timestamp in the files, so we may be able to cover that. But it still seems a little awkward.

We used to grab the latest config.guess/sub as part of building a tarball, although it looks like we no longer do. That seems much better than trying to cover this for all use cases.

@bwbarrett
Copy link
Member

I did verify that the config.guess we ship with OMPI tarballs (which is the one included with Autoconf 2.69) returns arm-apple-darwin20.2.0. The latest config.guess in Savannah returns aarch64-apple-darwin20.2.0. So it looks like we do need to pull config.guess/config.sub, at least when building tarballs.

@jsquyres
Copy link
Member

As noted on the Jan 26: we will also need to apply (at least the config.* files) in PMIx and PRRTE.

@jsquyres
Copy link
Member

@bwbarrett and I talked offline. I'll go make a PR to do what was described above: stash known good copies of config.* in Open MPI's git repo, and during autogen, do the version compare, and if the stashed versions are newer, copy those in over what autoconf installed.

jsquyres added a commit to jsquyres/ompi that referenced this issue Jan 26, 2021
Per open-mpi#8410, have autogen.pl
check each config.sub and config.guess that it finds with a known-good
version of that file if the known-good version has a timestamp version
that is newer than what Autoconf installed.

Signed-off-by: Jeff Squyres <[email protected]>
@jsquyres
Copy link
Member

See #8417 for autogen.pl updates to use known-good config.guess and config.sub.

@fxcoudert
Copy link
Author

GNU's own documentation recommends using config.{guess,sub} from their own repo, rather than rely on autoconf versions. https://www.gnu.org/software/gettext/manual/html_node/config_002eguess.html

@jsquyres
Copy link
Member

@fxcoudert PR #8417 includes cached copies of config.guess and config.sub from Savannah from today.

We don't want to just arbitrarily grab those files from Savannah when building a tarball for a few reasons:

  1. We lose reproducibility, making debugging potentially more difficult.
  2. At any given time, those files might be "bad" on Savannah for some reason. Having a known-good set of files eliminates the variability of what we might be grabbing from upstream.
  3. Open MPI tarballs are sometimes built in restricted networks that cannot reach the internet.

Hence, it seems safer to just cache known-good versions of these files in the Open MPI repo, and document them as so. If we ever need to update these files, no problem -- we can re-pull from Savannah.

Does that address your concern?

jsquyres added a commit to jsquyres/ompi that referenced this issue Jan 26, 2021
Per open-mpi#8410, have autogen.pl
check each config.sub and config.guess that it finds with a known-good
version of that file if the known-good version has a timestamp version
that is newer than what Autoconf installed.

Signed-off-by: Jeff Squyres <[email protected]>
jsquyres added a commit to jsquyres/ompi that referenced this issue Jan 27, 2021
Per open-mpi#8410, have autogen.pl
check each config.sub and config.guess that it finds with a known-good
version of that file if the known-good version has a timestamp version
that is newer than what Autoconf installed.

We also skip updating anything in the 3rd-party tree; we don't really
want to mess with those packages.

Signed-off-by: Jeff Squyres <[email protected]>
jsquyres added a commit to jsquyres/ompi that referenced this issue Jan 27, 2021
Download config.guess|sub from
https://git.savannah.gnu.org/gitweb/?p=config.git (at hash
6faca61810d335c7837f320733fe8e15a1431fc2) in order to fix
open-mpi#8410.

A future commit will install these files if they are newer than what
Autoconf installs.

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 0ad2e81)
jsquyres added a commit to jsquyres/ompi that referenced this issue Jan 27, 2021
Per open-mpi#8410, have autogen.pl
check each config.sub and config.guess that it finds with a known-good
version of that file if the known-good version has a timestamp version
that is newer than what Autoconf installed.

We also skip updating anything in the 3rd-party tree; we don't really
want to mess with those packages.

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 4a002ce)
@jsquyres
Copy link
Member

@fxcoudert This issue auto-closed, sorry about that. The v4.1.x version of the fix is in #8421.

I don't know if you want to just pull the patch and apply that; we can (and probably will) roll an RC soon, but I think you said that you don't generally test upstream betas. FWIW: we have just one more AVX blocker issue before v4.1.1 (it compiles and runs properly now, but at least in some cases there's a performance degradation that we're working to understand).

rhc54 added a commit to rhc54/openpmix that referenced this issue Jan 28, 2021
This is the PMIx equivalent of open-mpi/ompi#8417

Signed-off-by: Ralph Castain <[email protected]>
jsquyres pushed a commit to rhc54/openpmix that referenced this issue Jan 29, 2021
This is the PMIx equivalent of open-mpi/ompi#8417

Signed-off-by: Ralph Castain <[email protected]>
Signed-off-by: Jeff Squyres <[email protected]>
rhc54 added a commit to rhc54/prrte that referenced this issue Jan 29, 2021
rhc54 added a commit to rhc54/openpmix that referenced this issue Mar 4, 2021
This is the PMIx equivalent of open-mpi/ompi#8417

Signed-off-by: Ralph Castain <[email protected]>
Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 999b568)
rhc54 added a commit to rhc54/openpmix that referenced this issue Mar 16, 2021
This is the PMIx equivalent of open-mpi/ompi#8417

Signed-off-by: Ralph Castain <[email protected]>
Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 999b568)
rhc54 added a commit to openpmix/openpmix that referenced this issue Apr 25, 2021
This is the PMIx equivalent of open-mpi/ompi#8417

Signed-off-by: Ralph Castain <[email protected]>
Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 999b568)
(cherry picked from commit cdec11c)
clrpackages pushed a commit to clearlinux-pkgs/pmix that referenced this issue Dec 30, 2022
Alex Margolin (1):
      Fix TM detection (Torque / PBS Pro)

Alexei Colin (3):
      ptl: prevent free of uninited suri variable
      psec: include missing psec.h
      ptl: help on too-many-conns: mention conn handle files

Andrey Maslennikov (2):
      CI: enable MLNX CI using Githaub Actions
      CI: make sure to run Actions on PR

Artem Polyakov (32):
      dstore: optimize key search
      dstore: remove extra mallocs
      dstore: Avoid extra extension slots
      dstor/base: Address COV issue 168766
      tests: Fix Coverity issue 163258
      tests: Fix Coverity issue 328237 (Resource leak)
      tests: Fix Coverity issue 328240
      tests: Fix Coverity 328241, 328243
      tests: Fix Coverity issue 328238 (NULL dereference)
      tests: Fix Coverity issues 328244,328246 (uninitialized variable)
      tests: Fix Coverity issue 328245  (NULL deref)
      PMIx poc of the flexible-size integer packing.
      Fix fence tracker locality detection for wildcards
      test suite: Update help message for pmix_test
      test suite: Make sure that errors ar propagated correctly in pmix_test
      test suite: Add timings to the verbose mode
      test suite: Add timestamps to the output
      pmix suite: slight refactor to remove compiler warnings
      test suite: Minor additions for debugging output
      Remove accidental "tab"
      Fix debug output
      server: Fix PMIx_Server_Finalize hang
      Revert "Define host/network conversion for size_t"
      ptl: Fix message header `nbytes` field ambiguity
      PTL: Fix the connection establishment protocol
      Enable multi-server tests
      Simplify tracker initialization
      Revert "Fix memory leak as explained in issue 1548"
      dstore: Fix the memory leak
      dstore: Fix the memory leak (cont ...)
      dstore: Fix namespace tracker initialization
      dstore: Fix cache size calculation

Artem Y. Polyakov (1):
      dstor: Make dstor modex to be more efficient.

Austen Lauria (23):
      Initialize nlocal and local in the tracker.
      Fix various PGI warnings.
      Silence PGI atomics warnings, while not breaking clang.
      Have developer builds use -O3 by default.
      Fix clang compliler regression.
      Fix check for IBM xl compilers for v13.1 and later.
      Fix configury where most compilers will get mislabeled as 'gnu'.
      Fix case where var->mbv_enumerator can be released when static.
      Silence -qinline xlc compiler warning.
      Validate CFLAGS individually.
      Add -Wshadow to --picky-compiler
      Purge shadowing as reported by gcc.
      Leak: Always free ns->jobbkt in pmix_nspace_caddy_t destructor.
      leak: Fix case where buffer was unloaded, losing the pointer.
      leak: Free items in nslist for fence tracker.
      pmix_iof.c: malloc buffer before memcpy().
      Protect critical zone in pmix_obj_update().
      examples/dmodex.c: Fix some bugs.
      Initialize size for getsockopt().
      Revert "Leak: Always free ns->jobbkt in pmix_nspace_caddy_t destructor."
      In the case where the server is using a different dstore component,
      Refactor show_help() to use the PMIx_Log() api.
      iof: Fix merging of stderr to stdout.

Axel Huebl (8):
      Travis CI Script
      Travis: Clang and Undefined Behavior Sanitizer
      Warning: Sign Compare
      Warning: Sometimes Uninitialized
      Warning: Unused Parameters
      Warning: More Unused Params
      IPv6 IF Read: Buffer Overflow
      Fix comment: IPv6 IF_NAMESIZE

Bernhard M. Wiedemann (1):
      configury: Allow to override build date+host+user

Boris Karasev (61):
      dstore: fixed the logic of unmaping dstore segments
      dstor: added the check of the dstore tracker is existed
      dstore: create new 'src/mca/common` area with dstor
      dstore: added `ds12` locking modules
      dstore: introduced the dstore context structure
      dstore: avoid locking while storing job info
      dstore: added `ds21` with new locking scheme
      dstore: better way to file naming
      dstore: moved the lock from the session to nspace info
      dstore: moves segments implementation to the external module
      dstore: implements a locking with multiple namespaces
      dstore: fixed build
      dstore: rename files in MCA style
      dstore: fixed PMIx visibility of shared library symbols
      dstore: fixed the lock item cleanup for init error case
      dstore: fixed assignment of components
      dstore: fixed setting of lockfile permissions
      dstore: ds21 locks are aligned to the size of the cache line
      Fixed verbose output for get operation.
      dstore: added support for multiple dstore format module
      dstore: clarifying a function name
      test: introduced the support of the multi-server test mode
      test: fixed copyright
      dstor: fix detection of invalidated key
      dstor: moved return of compare and check flag operations to boolean type
      Use fastpath to get keys without thread shifting, if supported by GDS
      Removed dstore fastpath MCA option, disabled fastpath for ds12
      test: multiserver fixes
      modex: removed not used local callback list from GDS modex callback
      modex: forwarding a tracker into GDS modex callback
      modex: generalized unpacking of procs
      modex: optimization of rank identification size reduction
      bfrops: added missed types to darray constructor/destructor
      bfrops: regtypes used for internal purposes
      bfrops: removed unneeded pack_gentype/unpack_gentype
      Fix assigning client bfrops component for PMIx v3.x servers
      modex: fix unnecessary proc unpacking for the gds:hash
      util/argv: added `pmix_argv_append_unique_idx` function
      modex: reduce modex size by replacing key names with indexes
      modex: added selection of the key name packing format
      gds/ds21: update the pointer of `seg_hdr` when segment re-attached
      Rename flex256 to more logical name flex128
      psquash: added flexible-size integer packing
      psquash: rename `none` component to `native`
      psquash: implement `native` component
      psquash: added flag of necessity to pack the type of value
      bfrops: fixed PMIX_QUERY size packing/unpacking
      bfrops: added psquash with integer flexible packing to bfrops v4
      modex: avoid exchange unnecessary buffer when collect flag is not set
      modex: generate an error if the collect flag is set and data is empty
      modex: do not store the same blob multiple times for the same GDS module
      bfrops: fixed coverity: `Using uninitialized value "*tmpbuf"`
      psec: add dummy handshake component
      dstore: fixed truncate key-names while restoring
      Fix `nodeid` condition while finding nodeinfo item
      Test: fixed multiserver test mode
      Test: fix type of keys `PMIX_PROC_MAP` and `PMIX_NODE_MAP`
      pmix_server_get: avoid creating a local tracker for existing keys
      Fixes propagation of the number of local processes to GDS
      Fixes cleanup the dmdx satisfied request list
      ds21: fixed crash of dstor locks destructor

Brian Barrett (44):
      dist: Clean up handling of --disable-dlopen in dist process
      build: Support hwloc and libevent cobuild
      build: Allow autogen.pl to be run from a tarball
      Fix compile error in ptl_base_connect.c
      build: Change default build mode for components
      build: Remove options around mca direct calling
      build: Explicitly list libpmix dependencies
      build: Fix compiler attribute detection
      build: Fix compiler family detection
      atomics: Only support C11 and GCC builtin atomics
      atomics: Fix broken make dist
      common/dstore: Fix inconsistent Makefile.am
      man: Fix path check to see if pandoc is required
      Mark dependencies private in pkg-config file
      Remove cobuild remnants from configure
      Remove curl/jansson default search assumption
      config: Remove string checks in hwloc/libevent
      Reintroduce PMIX_DYN_LIB_SUFFIX define
      Add wrapper compiler mca link argument passing
      Remove pkg-config dependency list
      Clean up libevent/libev selection logic
      libevent: prefer compiler tests over linking tests
      Fix two bugs in OPAL_FLAGS_APPEND_MOVE
      Add static library note to README
      build: Be more flexible in library handling
      build: Fix escaping issue in pkg-config file
      Be defensive against string literals in env
      Remove block of hwloc 2.5 - 2.7
      test: Fix dereference issue in environ test
      Clean up unused return value warnings
      Remove unnecessary sys/sysctl.h includes
      wrapper: Remove unused pmix{include,lib}dir
      Better handle flags in wrapper & pkg-config
      Eliminate PMIX_FLAGS_UNIQ
      Migrate PMIX to OAC_CHECK_PACKAGE (#2515)
      build: Fix common/sse check
      build: Fix leak of non-LIBS flags into LIBS
      build: Fix output stream bug in summary
      build: check_package static improvements
      build: Wrapper/pkg-config improvements
      build: Use MCA env management for common/sse
      build: Clean up delayed flags
      build: Delay adding DELAYED_LIBS even more
      pnet/nvd: Fix macro escaping issue

Brian J. Murrell (1):
      Add BuildRequires: libevent-devel to spec file

Charles Shereda (12):
      Added test_v2 directory for new version of test suite (#2)
      Created support functions for test infrastructure.
      Added first test to new test_v2 suite
      Infrastructure changes for v2 version of test suite
      Added 'helloworld' test to v2 test suite with
      Created basic PMIx_Get() test case
      Fixed uninitialized data bug in pmi_base64_encode_block.
      Replaced PMIx_Notify_Event with cbfunc call in errhandler to match
      Added test_v2 to autoconf/automake processing
      Added v2 test for partial fence test (only some servers participate)
      Fixed format specifier problems in v2 test suite
      V2 suite test case for multiple inits and finalizes

Christoph Junghans (1):
      issue_template.md: use <!-- -->comments to hide details

Christoph Niethammer (3):
      Fix header guard
      Delete dead code
      Clean up left over .gitignore entry after mca/common/* removal in 4f8a4bdc

Danielle Sikich (Intel) (40):
      Fix schedular example in python bindings
      update info type to use a list of dictionaries
      Send value and value type tuple to pmix_load_value
      Update python bindings to use error codes
      Add PMIx_Get wrapper in Python bindings
      Update value type in Python bindings
      Update python darray type to use dictionary
      Fix sched.py to use correct darray type
      Update proc tuple of nspace and rank to use dict
      Add Python wrapper for PMIx_Publish
      Fix string/byte comparison for python regex
      add python wrappers and server host functions
      Add helper function for allocating info structs
      add python query_info client wrapper
      Cleanup debug print statements and update tests
      Add helper function for allocating info structs
      Add pyeventhandler code
      Remove with gil on pyeventhandler
      cleanup register event handler test in client
      Python: add callback function invocation in fence
      python: add correct return from directmodex
      update README links so build status shows
      python: cleaup pyshift structs
      python: add callback and invocation for spawn
      python: add toolconnected and allocate callbacks
      python: add monitor client wrapper
      add getcredential client wrapper and server cb
      python: add validate cred client wrapper and cb
      python: add iofpull wrapper
      python: fix client rcs and add iofpush wrapper
      python: add server register attributes function
      python: move tests into python directory
      python: add missing wrappers and iof hdler
      python: add store_internal func for client class
      python: add iof_deregiter and update pyiofhandler
      python: add initial cython test structure
      python: bug fixes for pmix_load_value
      python: fix more type conversions in load_value
      python: add missing data conversions for types
      python: add pmix_unload_darray function

David Solt (3):
      Fix access to uninitialized info
      Fix fences with namespaces where no local processes are running
      Fix memory leak as explained in issue 1548

David Wootton (2):
      Initialize myproc structure before calling PMIx_tool_set_server
      Select all adapters with IPV4 addresses within specified subnet ranges.

Geoffrey Paulsen (1):
      fix potential memory barrier bug with __atomic builtin atomics

Geoffroy Vallee (2):
      Fix a typo in comments: insertted -> inserted
      Fix typo in comment: contiaing -> containing

George Bosilca (1):
      Optimize the file descriptor cleanup on OSX

Gilles Gouaillardet (69):
      test: plug a memory leak in the simple/stability test
      gds/hash: plug misc memory leaks
      make PMIX_VALUE_DESTRUCT() recursive
      configury: define C11 macros once
      configury: call PMIX_SETUP_CC only once
      bindings/python: fix make install when VPATH is in use
      util/path: only include sys/mount.h once
      common/pmix_strings: silence warnings
      iof: plug a memory leak in the pmix_iof_req_t destructor
      plug a memory leak in pmix_value_destruct()
      plug a memory leak in the spcbfunc() callback
      event: plug a memory leak in pmix_invoke_local_event_hdlr()
      plug a memory leak in the pmix_query_caddy_t destructor
      pnet/tcp: plug a memory leak in allocate()
      plug a memory leak in pmix_server_register_events()
      pnet/base: plug misc memory leaks
      server: add the number of objects to pmix_setup_caddy_t
      fortify the PMIX_BYTE_OBJECT_FREE() macro
      plug a memory leak in pmix_server_job_ctrl()
      Fix the pmix_setup_caddy_t usage
      plug a memory leak in the pmix_notify_caddy_t destructor
      gds/ds12: plug a memory leak in pmix_ds12_lock_finalize()
      dstore/base: plug a memory leak in pmix_common_dstor_del_nspace()
      server: have query_cbfunc invoke the release callback when available
      gds/base: plug a memory leak in pmix_gds_base_store_modex()
      event: fix notify_event_cache() eviction algorithm
      pmix_control: plug a memory leak in query_cbfunc()
      epilog: fix a typo in pmix_execute_epilog()
      common/dstore: plug a memory leak in pmix_common_dstor_finalize()
      Fix the greek version (make it 'a1')
      gds/ds21: fix support for 32 bits arch
      event: plug a memory leak in _notify_client_event()
      configury: enhance C11 detection (#1059)
      test/simple/simptest: do not PMIX_THREADSHIFT() an object allocated on the stack (#1060)
      configury: automatically generate PMIX_NUMERIC_VERSION
      configury: fix PMIX_NUMERIC_VERSION
      test/simple/simpclient: fix a type issue in model_registration_callback()
      test/test_server: do not invoke libevent directly
      configury: revamp libev vs libevent detection
      Fix libev support
      libev: fix libev support
      bfrops/base: silence a warning in PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND()
      bfrops/base: fix a typo in pmix_bfrops_base_unpack_app()
      server: plug a memory leak in _collect_data()
      util/argv: remove the useless 'overwrite' parameter
      configury: fix git source tree is detected
      configury: use PMIX_ENABLE_DLOPEN_SUPPORT instead of enable_dlopen
      configury: fix a typo in embedded mode handling
      libev: wrap pmix_event_base_loopexit()
      util/environ: use setenv() if available
      plug a misc memory leak in the pmix_query_caddy_t destructor
      client: plug a misc memory leak in _getfn_fastpath()
      runtime: plug a misc memory leak in pmix_rte_finalize
      configury: plug misc memory leaks
      travis: test python bindings
      configury: replace opal_show_subtitle with pmix_show_subtitle
      psec/base: make it re-initializable
      gds/base: make it re-initializable
      psensor/base: make it re-initializable
      ptl/base: make it re-initializable
      pshmem/base: make it re-initializable
      pnet/base: make it re-initializable
      bfrops/base: make it re-initializable
      plog/base: make it re-initializable
      pmdl/base: make it re-initializable
      preg/base: make it re-initializable
      psquash/base: make it re-initializable
      configury: fix --with-ofi=DIR handling
      configury: fix _PMIX_CHECK_PACKAGE_LIB() macro

Heena Sirwani (1):
      Plug a memory leak

Howard Pritchard (8):
      examples: swat compiler warnings
      icc: suppress no_long_double
      finalize: set hostname in global to NULL
      fix a problem using PMIX_RANK
      test_v2: use static declaration for client parser
      examples: add a test to simulate open mpi group usage.
      pmix reinit: a fix to allow pmix to be reinitable
      llvm/oneapi: fixes to bring pmix up to iso c99

Jai Dayal (1):
      Adding support for HPE sshot, usable for RMs. (#2714)

Jeff Squyres (33):
      pmix_server: minor compiler warning stomp
      autogen.sh: remove outdated sym link
      Remove all references to autogen.sh
      mca base: warn if dir component_dir path fails to add
      pmix_setup_cli.m4: do not escape $
      Update various PMIx URLs
      HACKING: Update flex URL
      Makefile.pmix-rules: remove unnecessary rules
      Convert man pages to Markdown
      travel: add "make distcheck"
      configury: fix final wrapper setup
      construct_dictionary: fix VPATH usage
      construct_dictionary.py: add Python 2 compatibility
      include/Makefile.am: fix dependencies
      mlnx: Install Python3 for CI
      pmix.m4: abort if we need new Python and can't find it
      Sometimes we just need any version of Python
      construct_dictionary: cleanups
      Revert most of 77f47642
      construct_dictionary: improve error messages
      Remove some stale Makefile.am kruft
      pmix_common.h.in: remove non-ASCII characters
      construct_dictionary: make sure to exit with errors
      construct_dictionary: clarify src vs. build dir
      src/include/Makefile.am: ensure files are in tarball
      src/Makefile.am: remove unnecessary kruft
      configury: fix getdate.sh woes
      pmix_get_version.sh: fix one more getdate.sh instance
      pmix.m4: abort if gcc is <= v4.8.1
      configure.ac: update directory space check
      pmix_fd: cap the max FD to try to close
      construct_dictionary.py: make .format() safe for Python 2
      src/include/Makefile.am: avoid potential file corruption

Jie Zhang (1):
      Fix dependency issue with hwloc

Joe Downs (1):
      Add action to check commits on pull requests

John Paul Adrian Glaubitz (1):
      tests: Fix multiple occurrences of unaligned access

Jonathon Anderson (2):
      Updated specfile BuildRequires
      Additional BuildRequires in spec

Josh Hursey (1):
      psquash: reword the comment

Joshua Hursey (35):
      Transfer all cached data to client dstore gds
      ptl/tcp: Make try connect retry/timout MCA adjustable
      Allow for multiple children in the waitpid loop
      Wrap the innder dstore kv in an object.
      Fixes PMIx_generate_regex ordering
      Add a psquash framework for type encoding
      Open/close psquash framework in bfrops/v4
      psquash: fixed a comment typo
      psquash/flex128: Fix mismatch prototype
      Cleanup example use of pmix_value_t
      Adjust hotel timeout to be in whole seconds
      Sync master/NEWS with 3.1.5
      Export pmix_notify_check_range so the ptl/tcp component can use it.
      Fix `pmix_wrapper` by initializing the `pmix_pinstall_dirs`
      Make `pmixcc` a default binary
      Move from -levent to -levent_core
      Add a LSF libevent.so check on Libevent check
      Add option to bypass local-only fence optimization
      Sync NEWS with v3.2 release
      Adjust Python bindings to match C
      Fix cython configure check
      Fix Python binding build for VPATH
      Add the PMIx Standard version level to the version string
      Fix Mellanox CI pmix version check
      Py: Open files as UTF-8 while processing
      Tool finalize crash due to ref count issue
      GitHub Action for xversion testing
      Fix typo in configure script
      Remove the Docker Auth GitHub Environment
      Initialize pmix_info_t flags when loading
      Setup PMIX_STD_ABI_VERSION in the VERSION file
      Backend query support for PMIX_QUERY_ABI_VERSION and local keys
      Add examples for using PMIx_Query_info with PMIX_QUERY_ABI_VERSION
      Update the PMIx ABI Query attributes to match the standard
      Add PMIx Standard version info to pmix_info

KAWASHIMA Takahiro (2):
      configury: Fix cross-compiling `PMIX_ALIGNMENT_*`
      configury: Use `AC_CHECK_ALIGNOF`

Kilian Cavalotti (1):
      SPEC: allow splitting RPM in pmix and pmix-libpmi packages

Matt Baker (1):
      Release GIL before registering event handler

Matthew Baker (6):
      Initalize val before get in case get isn't successful
      Update how C to Python bytes/strings are handled for get and byte objects
      Fix up string creation functions, take the GIL in the callback code, and system malloc instead of the Python malloc for datastructures going to PMIx
      Only conditionallly decode the nspace return value when we are sure the return code is PMIX_SUCCESS
      Change construct.py to mark PMIx functions with nogil and call PMIx_Spawn with nogil
      Add GIL protections to IOF callbacks, drop GIL when registering callbacks, fix allocation error in bytes object

Matthieu Dorier (1):
      Started the generation of a pkg-config file

Michael Blocksome (1):
      squash rpm warning about macro expansion in a comment

Michael Karo (2):
      Link against libz when testing for TM
      Correct references to help-ptl-tool.txt

Michael Kuron (1):
      Deal with EOPNOTSUPP returned from getsockopt()

Orivej Desh (1):
      Fix if_linux_ipv6_open interface filter

Philip Kovacs (4):
      remove unnecessary libtool init for c++
      fix incorrect pointer casts/derefs
      fix another pointer cast/deref in test suite
      package missing simptest header

Ralph Castain (1069):
      Add missing pmix_config.h
      Protect opa component when no hwloc available
      Some minor cleanups
      Cleanup stability test
      Continue cleanup of finalize
      Revert connect/disconnect to v2 signatures
      Minor cleanups
      PMIx master is now targeting v4.0.0
      Update spec file to 4.0
      Build out the OPA inventory collection
      Deal with incremented version number
      Ensure we get topology for inventory
      Cleanup collection of OPA inventory
      Continue work on opa
      Some cleanups in the allocate code path
      Protect for no hwloc
      Cleanup connection check and add missing include
      Minor cleanup
      Fix typo in configure so include files are found
      Update atomics
      Silence Coverity warnings from OMPI
      Fix include path
      Remove stale code
      Free component values at close
      Document functions tested by stability
      Implement support for PMIX_SYSTEM_TMPDIR on server
      Check for required header for opamgt support
      Only build opamgt support if requested
      Unlock thread prior to object release
      Tools need to init tmpdirs too
      Simplify cython detection
      Use srcdir instead of top_srcdir
      Continue working on Python bindings
      Add numeric version field
      Update spec file to automatically track version
      Complete initial pass thru prototype Py bindings
      Point to correct place for posting issues
      Minor mod to simptest
      Common component libraries must be versioned
      Fix missing ifdef
      Correct typo to ignore common framework for static-components.h
      Don't fight the MCA naming convention
      Expose the rest of the argv functions
      Update simptest to return client status
      Add a new header file to contain extensions
      Implement job control and sensor APIs
      Add error string and remove debug
      Missed one spot where we need to avoid the cbfunc
      Cleanup a few things
      Silence Coverity warning
      Update the job_ctrl return code
      Update sensor support
      Remove stale return call
      Fix event notification operations
      Add missing file to dist
      Add debugging output to pnet components
      Add a little more debugging
      Shift the PROC_TERMINATED constant into v2 region
      Update NEWS
      Backport changes to expose tools when embedded
      Add support for user-specified rendvous file
      Updates for indirect launch by debugger support
      Silence coverity warnings
      Sync to formal standard doc
      Convert the code base to use pmix_strncpy
      Update Python bindings
      Remove stale MacOSX protections
      Stabilize the user-facing error constant
      Bring the APIs into compliance with std
      Further cleanup use of strncpy
      Ensure we only open the pshmem framework once
      Protect PMIx from bad configure entry
      Complete indirect launch via debugger/tool
      Fix incorrect datatype on MCA param registration
      Ensure usock support is enabled on server
      Backport fix from OMPI - correct typo
      Implement PMIx group collective APIs
      Fix merge error in notification
      Improve debug messages
      Do not error out if topo provided...
      Silence a couple of Coverity warnings
      Silence Coverity warnings
      Continue implementation of PMIx Groups
      Remove the pmix_group_t object upon group destruct
      Enable PMIx_Group_construct to return a context ID
      passing a bool to va_start() is undefined
      Sync with OPAL atomics
      Add missing pmix_config.h
      Do not register events if host doesn't support it
      Store the server URI
      Silence warnings and fix ds21 for new atomics
      Ensure SIGCHLD is unblocked in simptest
      Use pmix_setenv instead of argv_append
      Default the v2.0 GDS to "ds12,hash"
      First pass at bringing the library into compliance with v2.1 of the standard
      Cleanup tool operations and remove debug
      Avoid sending messages to procs that have finalized
      Protect trackers from double release
      Add a timer to avoid memory leaks
      Report events only to members of the failed procs nspace
      Cleanup the simpdie test so it correctly terminates and is reported as success
      Ensure clients still receive a socket termination when the server dies
      Shift the trackers before accessing them during collective callbacks
      Silence Cython warning by setting language_level
      Add process set name key
      Fix race conditions in tracked requests
      Move to next tracker if we have removed and released the current one
      Be more careful about who is releasing what.
      Ensure the tracker is marked for lost connection
      Complete Query update for v2.1 compliance
      Define new attributes for querying pset values
      Add a fence if they request a barrier
      Implement pset-related queries. Ensure that the host is aware of psets when created
      Correctly handle refresh_cache for queries
      Fix group construct/destruct
      Silence error logs on rejected connections
      Correct typo on proc assignment
      Silence unnecessary warning message
      Pass the tool's pid to the server
      Correctly handle client tools
      Add attribute to mark that a job consists of tool
      Ensure that lost-connection events get delivered to default evhandlers
      Enhance group construct for local ops
      Restore prior sizes for max nslen and keylen
      Expand the local procs/peers wildcards for group construct
      Ensure we expand wildcard even if only one local proc
      Attempt to address the case where data isn't found
      Overhaul the event caching system
      Silence Coverity warnings
      Bump the oldest notification to make room, if needed
      Enable passing of error message in event
      Remove stale man pages
      Fix permissions
      Remove events once all targets notified
      Correctly handle local notifications
      Properly cache IO for pending registrants
      MOdify the connection order so we do system-first if requested
      Ensure that epilogs get run
      Have the server check its local cache for queries
      Update the examples
      Add missing file to tarball and missing attributes
      Add missing file to tarball and missing attributes
      Construct the list before use
      Pass the tool's cmd line to the server
      Add some missing macros to pmix_common.h
      Eliminate counter confusion across macros
      Protect hotel ops against negative room numbers
      Update our handling of hwloc configure
      Update the hwloc and libevent config files
      Have a server store its internal URI for retrieval
      Use affected procs for filtering notifications (#1056)
      Save hostname for use in responding to queries (#1063)
      Correct the case of registering a default event handler
      Ensure we return the correct status
      Fix typo in PMIX_SYSTEM_EVENT macro
      Forward PMIx MCA params by launchers
      Update docs
      Require that the thread_usage macros always be inlined
      Update configure logic for clock_gettime
      Restore PMIX_NUM_SLOTS
      Update configure logic
      Improve performance and hardness of pmix_strncpy
      Remove the "restrict" keyword to avoid requiring C99 for apps
      Use "restrict", but protect it
      Simulate assigning network coordinates for OPA
      Implement PMIx_IOF_push (#1109)
      Complete implementation of stdin forwarding
      Update ignores
      Add support for libev
      Cleanup missing abstraction repairs
      Port the compression framework to PMIx
      Rename the compress framework
      Update attr registration and pretty-print
      Remove stale file reference
      Revert "Update attr registration and port compression framework"
      Avoid segfault in event notification
      Atomics: fix a compiler warning on POWER arch
      Port the compression framework to PMIx
      Update attr registration and pretty-print
      Continue working on the Python bindings
      Silence warnings
      Fix zlib component visibility
      Silence Coverity warnings
      Backport https://github.com/open-mpi/ompi/pull/6500
      Backport https://github.com/open-mpi/ompi/pull/6500
      Silence Coverity warnings
      Update pmix_server_ops.c
      Delete timeout timer when op completes
      Remove dependency on C++ compiler for thread detection
      Check for Flex
      Only check for Flex if we are in a git clone
      Continue development of Python bindings
      Improve setup.py descriptions
      Continue work on client
      Continue down the client API list
      Add missing links for static builds
      Ensure any cached notifications arrive after reg completes
      Implement "make check" in the tests subdir
      Replicate the tests in current Mellanox Jenkins
      Ensure "make check" finds executables in VPATH builds
      Silence unnecessary error log messages
      Add --disable-dlopen to configure args in make_dist_tarball
      Replicate the tests in current Mellanox Jenkins
      Refactor code for easier reuse
      Complete load/unload of values
      Complete implementation of server module functions
      Remove stale code in make_dist_tarball
      Fix the tests in the test subdir
      Silence warning if default component repo paths don't exist
      Separate out the "make check" tests so they report individually
      Remove the link-backs to libpmix
      Add a new configure option specifically to enable non-global dlopen
      Default to disable-nonglobal-dlopen in embedded mode
      Fix case of multiple launcher calls in job script
      Enable launcher tools to fork/exec local children
      Properly handle rendezvous files for launchers
      Export missing symbols
      Define host/network conversion for size_t
      Ensure all participants are notified of fence complete
      Update the disconnect and connect ops too
      Preserve user-provided CFLAGS to protect autotools
      Add static constructor for pmix_list_item
      Silence unused param warnings in bfrops base
      Check for test existence and permissions
      Restore the hton/ntoh support for size_t
      Silence Coverity warning
      Silence Coverity warnings
      Correct dmodex example
      Silence Coverity warnings
      Add scheduler header
      Silence another Coverity warning
      Add scheduler skeleton infrastructure
      Handle multiple types directed to generic pack/unpack fns
      Add unsigned types to generic type check
      PTL/tcp: Fix the tool connection in psec/handshake mode
      Add scheduler interfaces to Python bindings
      Silence Coverity warnings
      Avoid output_verbose overhead when it won't print
      Add missing scheduler function
      Detect Python path and use that in the Py examples
      Tools that don't connect do not need to provide ID
      Allow servers to pass NULL module
      Allow setup_fork to proceed even if gds and pnet don't contribute
      Provide blocking ability to the register/deregister fns
      Allow jobs to not specify proc-level info
      Implement pnet/test sched support
      Provide proc data in cases where host does not
      Add some more values that can be computed
      Re-enable the pnet/tcp component
      Add missing tool rendezvous file
      Fix potential integer overflow in regex
      Silence Coverity warning
      Work around memory barrier bug in older gcc
      Silence Coverity warnings
      Prep tutorial and complete pnet/test component
      Implement Python bindings for setup_app and setup_local
      Silence Coverity warnings
      Silence more Coverity warnings
      Provide memory op hooks in macros
      Correct handling of buffer object
      Fix xversion spawn test
      Correctly load byte object in Python
      Add some more debugging to Python bindings
      Must provide the node and proc maps to register nspace
      Add -fPIC to static builds
      Fix support for 32-bit builds
      Cache all the -W CFLAG entries
      Provide data type string support prior to Init
      Add some appropriate socket options
      Correctly handle with-devel-headers
      Do not use '==' in m4 test statements
      Fix use of gethostname
      Reserve that last space for the NULL
      Complete implementation of network coord support
      Move the testing of coord capabilities into separate test
      Fix CID 187660
      Fix CID 1449977
      Fix CID 1449973
      Fix CID 1449969
      Fix CID 1449959 and 1449965
      Fix CID 1449958
      Fix CIDs associated with the test subdir
      Silence Coverity warning
      Implement support for class-based info arrays
      Implement the node array support
      Capture initial work on retrieving node/app values
      Implement retrieval of node, app, and session info
      Remove debug
      Silence Coverity warnings
      Fix Python bindings
      Remove useless requirement for pandoc in Python bindings
      Cleanup pnet/test component and associated test
      Don't whack the rendezvous file if you are a tool
      Fix legacy support for PMI-1
      Cleanup handling of data requests for different nspaces
      Remove unnecessary error log
      Be more restrictive on the minimum Python requirement
      Resolve get of proc-specific job-level info from another nspace
      Fix a typo and add a little debug
      Silence warning
      Fix simpclient to use job size instead of universe
      Fix problems in the Log code path
      Update the "simple" tests
      Protect against NULL object
      Skip fastpath/dstore for NULL keys
      Change IF_NAMESIZE to PMIX_IF_NAMESIZE
      Change IF_NAMESIZE to PMIX_IF_NAMESIZE
      Check for EINVAL return from posix_fallocate
      Minor cleanups in the Python bindings
      Update travis - remove gfortran
      Add libhwloc-dev to Travis
      Extend the Python binding support
      Ensure proper identifcation of egg site
      Fix xnspace dmodex and add verbose debug
      Resolve request for job-level data
      Fix xnspace get yet again
      Minor cleanup
      Bring into compliance with v4 Standard
      Silence Coverity warnings
      Cleanup pnet/test component
      Add blocking form of PMIx_Query_info
      Cleanup some Python bindings and update test
      Update pmix_coord_t to track Standard
      Implement the revised generate_regex[ppn] support
      Provide a backup method for finding cython
      Cleanup a couple of attribute definitions
      Remove debug error logs
      Return the correct status from PMIx_Publish
      Cleanup handling of info arrays
      Cleanup example and remove debug
      Silence Coverity warnings
      Update blocking Allocation_request signature
      Add ability to provide custom environments
      Fix 'get' of data for unknown namespace
      Silence Coverity warning
      Update the NEWS from the release branches
      Update blocking Allocation_request signature
      Add Tool class and fill in more client functions
      Add missing parameters to blocking APIs
      Update sched.py in tests/python
      Update blocking APIs to match standard
      Continue prototyping Python bindings
      Silence Coverity warnings
      Silence warnings from construct_lock macro
      Silence time-of-check-time-of-use warnings
      Fix some Python bindings and avoid double-ref of list item
      Complete the Python binding prototypes and add missing functions
      Fix some double-free errors
      Minor touchup to the python bindings
      Silence miscellaneous compiler warnins
      Example of how to threadshift in Python bindings
      Add a wrapper compiler for building PMIx-only apps
      Fix visibility
      Check for the new required functions
      Include missing binding files in tarball
      Test blocking form of PMIx_Query_info
      Silence Coverity warnings
      Define finer-grained proc type flags
      Remove debug
      Fix bug in blocking event hdlr registration
      Break a hang when registering events from Python
      Leave things correctly coded for blocking event handler registration
      Ensure we capture the stderr output
      Add missing wait for thread lock to complete
      Update gitignore
      Cache local peers in deprecated form for older versions
      Try to fix the "test" area
      Continue to work around the dstore's limitations
      Resolve compiler differences
      Python: Cache events if evhdlr not found
      Clarify tests to show that Python evhdlrs are being invoked
      Correct the simple tests
      Further cleanups for xversion support
      Cleanup some cross-version issues
      Minor cleanup of simptest
      Update README.md
      Further cleanups for xversion support
      Correctly transfer info to dstore for older versions
      Fix support for older servers
      Communicate the server's version to its clients
      Update the "make check" tests
      Add timeout capability to make check
      Take a pass thru tests ensuring they exit with error
      Initialize the proc type variable
      Correctly pack return data for "get" of other namespace
      Remove event handler registration from tests
      Correctly xfer node-level data arrays for pre-v3.1.5 clients
      Need to directly store local peers for the local host
      Remove debug
      Remove fake nodenames as it confuses earlier versions
      Deal with servers using older versions
      Continue repairs of xversion make check tests
      Fix singleton initialization
      Add missing IOF_deregister function
      Cleanup IOF registration
      Add a PMIX_OUTPUT_TO_DIRECTORY attribute
      Protect pthread setpshared calls
      Silence warning
      Correct the gds/dstore configure logic
      Add test for cycling PMIx Init/Finalize
      Add fixes for pcompress and pfexec frameworks
      Fix the mlnx CI - cannot use ds21 if --disable-pthlk
      Final changes to enable cycling of init/finalize
      Silence error log
      Update ignore
      Silence Coverity warnings
      Fix bugs in gds/hash and preg/native
      Add pnet/simptest component
      Remove the "optimized" platform file
      Silence Coverity warnings
      Cleanup a few compiler warnings
      Silence a flood of warnings
      Initialize the local flag to true
      Add reincarnation tracker attribute
      Silence Coverity warning
      Add definition of PMIx job states
      Re-address the collective tracker problem
      Complete debugging of the collective tracker
      Allow user to request cache refresh
      Add some attributes
      Properly support dmodex requests (#1611)
      Ensure the switchyard doesn't prematurely release the server caddy
      Comment out the multi-server emulation tests until they can be corrected
      Silence debug
      Correct return status when trackers are created
      Silence some Coverity warnings
      Add a little protection against failed spawn requests
      Update "check_vendor" for PGI problem
      Add configury to support REST interface interactions
      Realign behavior of PMIx_Get and PMIx_Get_nb
      Avoid an unnecessary malloc in a critical path
      Remove a potential race condition
      Properly handle forwarded output when no handler registered
      Correctly transfer default param and hostfile files
      Protect against NULL home directory
      Remove MIPS atomics
      Remove stale s390 atomics
      Update atomics
      Cleanup nit
      Fix fork/exec and provide better tool support
      Update ignores
      Fix race condition between pfexec and iof
      Flag a local proc as being "local"
      Pass back the tool's ID
      Set theme jekyll-theme-tactile
      Ensure that launchers open all required frameworks
      Check for active event before deleting
      Fix IOF race condition
      Do not transfer settings to fork/exec'd child
      Another approach to resolve fast/slow get path
      Handle the v3.1.5 special case
      Add attributes to support tool-requested timeout
      Turn off useless error log
      Ensure cleanup of fork/exec children
      Pass additional required values
      Pass additional required values
      Add support for missing include
      Silence unnecessary error logs
      Ensure cleanup of rendezvous files
      Little more cleanup on rndz file cleanup
      Silence Coverity warning
      Silence some warnings and update an attribute's value
      Protect job control from NULL results param
      Fix a race condition during finalize
      Take a shot at fixing the prun-prte connection creation
      Make PC_REQUIRES track actual configure results
      Shift libev to PC_PRIVATE_LIBS and fix typo in setup_libev
      Check hostname aliases to ensure xfer of job-level info
      Silence Coverity warnings
      Minor coding cleanup
      Alert user to FQDN status
      Ensure notification upon connect and fix PMIx_Init return code
      Silence warnings about static mutex init
      Update embedded flags for extraction by OMPI
      Pass nspace/rank on fork/exec and cleanup notify
      Play it safe - export all functions/vars
      Assume our host/appnum if not given
      Update event notification for tool support
      Enhance harvesting of envars for OMPI/OSHMEM
      Flag that user-level params were forwarded
      Update rename template
      Export missing variables
      Add symbol-hiding.pl script
      Remove some symbols that are causing OMPI trouble
      Remove more symbols and fix a wrapper
      Silence unnecessary error msg in configure
      Silence errors coming out of libtool config check
      Revert "Silence errors coming out of libtool config check"
      Silence a few Coverity warnings
      configure: use -iquote for non-system include paths
      Add PMIX_NUMA_RANK attribute key
      Re-enable OPA support
      Add storage system support
      Silence Coverity warnings
      Update the Storage attributes
      Cleanup a bit and ensure ompi5 sets envars
      Silence Coverity warnings
      Correct return code from PMIx_Spawn
      Enable search for available servers
      Fix the pnet/opa component
      General scrub of attributes
      Don't return next_option when not found
      Little reorganization
      Add missing include to tarball
      Silence Coverity warning
      Fix uninitialized variable error
      Spruce up the dmodex fix
      Silence Coverity warning
      Ensure we collect all data needed for setup_fork
      Default the pstrg/lustre query to return not found
      Exclude pmix_config.h from tarball
      Protect against zero local procs
      Remove symbol hiding
      Correct the returned status from pnet/allocate
      Export some missing functions
      Fix typo
      Update the OPA transport key name
      Add two attributes
      Allow passing of PMIX_PREFIX to PMIx_tool_init
      Avoid adding external libs until done with configure
      Protect against user error
      Update lustre config logic
      Silence Coverity warning
      Add a new slingshot prototype component
      Correctly handle endpt simulation
      Pickup the OMPI system-default params
      Point to the correct file that wasn't found
      Only default to show load errors if --enable-debug given
      Don't require pandoc on developer builds
      Silence Coverity warnings
      Minor cleanups - typo plus a missing part of a prior commit
      Add manpage build decision to config summary and pmix_info
      Fix a bug in client/get and in pnet/simptest
      Fix Python binding compilation
      Fix libev configury
      Begin implementation of Slingshot plugin
      Setup a new RM framework
      Check for libjansson version > 2.11
      Update NEWS from v2.2.4 release
      Initialize pinstall info
      Split the pquery qualifiers by semi-colon
      Update fabric support to track v4 Standard
      Ensure the PMIx server knows the local topology
      Update the Python bindings to track standard
      Cleanup a few error codes and silence coverity warns
      Fix trivial spelling error
      Pass back the tool name in connect_to_server
      Fix registration of custom range
      Cache the server ID for later retrieval
      Add VFS storage component
      Few cleanups in tool reconnect
      Cleanup a couple of minor issues
      Allow retrieval of the caller's own rank
      Updates to track Standard
      Remove stale man page references and cleanup the pmixcc wrapper compiler
      Add missing error code strings
      Fix typo in pmix.pc.in
      Up the timeout as some tests are running on the edge
      Fix cross-version for v3.1.6+
      Update headers to include new APIs and datatypes
      Move deprecated APIs, constants, and attributes to separate header
      Implement the new tools APIs
      Sync to v4 Standard
      Continue work on REST support
      Add missing attributes, remove stale APIs
      Remove unneeded plugin
      Update dictionary creation code and its output
      Auto-construct the dictionary whenever "make install"
      Catch some remaining missing attributes and constants
      Add missing support for PMIX_TOPO data type
      Debug and cleanup the ploc/hwloc component
      Add missing file to tarball
      Initial implementation of the fabric support
      Complete support for compute_distance API
      Cleanup handling of new data types
      Add some debug for PRRTE - to be removed later
      Remove debug, add configure check for topo_dup
      Cleanup topology support a bit
      Silence some Coverity warnings
      Remove PMI-1/2 backward compatibility hooks
      Minor adjustments to match Standard
      Remove non-standard attribute
      Change --with-platform option to --with-pmix-platform
      Update compute_distances APIs
      Fix "immediate" flag behavior at the server
      Update the rpm spec to remove all references to PMI-1 and PMI-2 libs
      Continue work on updating to v4 Standard
      Cleanup of Python bindings
      Ensure the peer objects are always initialized
      Update realm checks and fix pmix_get for v4
      Add new attributes and macro to track Standard
      Complete slingshot scaffold
      Remove cruft component and block build of tests
      Fix memory corruption
      Locally cache VNI and traffic class
      Protect against early versions of hwloc  (#1895)
      Fix some OMPI integration issues
      Check for spaces in prefix, srcdir, and builddir (#1897)
      Silence Coverity and extend keyval buffer
      Support reproducible builds
      Fix hostname flag for reproducible builds
      Add new test code
      Cast a void*
      Per telecon, add to compress preg metadata
      Protect against stone age HWLOC version
      Touchup keyval buffer extension
      Fix the direct-launch debugger example
      Silence Coverity warnings
      Move construction of dictionary to "make all"
      Protect against bad characters
      Reset build of dictionary
      Remove stale file and minor touchups
      Add error message
      Eliminate the stale usock component
      Plug a memory leak and optimize a bit
      Silence usock component warning message
      Update pmix_common.h to track v4 Standard
      Update tool header and new APIs
      Correctly handle the do-not-connect case
      Ensure the tool sets it ptl component
      Update the pfexec framework
      Protect server against some errors
      Fix check to disable pandoc requirement
      Refactor the PTL framework
      Clean up PTL refactoring
      Patch libtool for Mac BigSur OS
      Silence Coverity warnings
      Fix pmix_get_version
      Further restrict package requirements
      Update to utilize new tools functions
      Update server to track tool changes
      Silence Coverity warnings and update NEWS/README
      Add more debug to error message
      Silence Coverity warning
      Remove non-v4.0 frameworks, components, and attributes
      Update NEWS and VERSION headers
      Sync with v4 Standard
      Work on fixing Python binding for spawn
      Close the Cython-constructed files
      Fix thread conflict in event notification
      Protect the chain object thru event timeout
      Ensure all processing of event chain occurs in event
      Fix typo in checking cached events
      Fix Python event notification
      Complete revision of Python bindings
      Let hash search for node/app info on specified proc
      Ensure Python progress thread doesn't return early
      Update the client get per v4.0 Standard
      Up version to rc2
      Silence Coverity warning
      Remove unnecessary include
      Revert "Silence Coverity warning"
      Revert "Update the client get per v4.0 Standard"
      Roll to rc3
      Add a touch more output to error msg
      Protect the socket/bind call and avoid unnecessary key waits
      Assign release date
      Specify Python 3 for the configure check
      Cycle to 4.0.1 and update NEWS
      Disable IPv6 by default
      Silence a couple of Coverity warnings
      Cleanup indirect debugger launch against mpirun
      Silence unnecessary warning
      Restore the pnet/opa component
      Silence Coverity warning
      Touch of cleanup
      Silence Coverity warning
      Ensure the data array always gets initialized in PMIX_INFO_LIST_CONVERT
      Temporarily make the OPA envar OMPI-compliant
      Update pnet/opa component to current architecture
      Update the pnet/opa component to current architecture
      Silence Coverity warnings
      Add the psm2 auth_key to the job info and silence warning
      Cleanup the OFI detection m4
      Correct name of PSM2 envar
      Add a couple of useful macros
      Add the local reference ID to iof/pull request
      Silence Coverity warnings
      Provide an envar version of the HWLOC shmem rndvz info
      Fix bugs in OFI configure and HWLOC component
      Correctly handle precedence for first/last overall events
      Refs https://github.com/open-mpi/ompi/issues/8410
      Update the new hybrid test a bit
      Revert "Fix various PGI warnings."
      Retain all the changes except those made to the atomics
      Cleanup the IOF register/dereg response code path
      Ensure the topology support matches the Standard
      Protect HWLOC_VERSION
      Missed a spot - check for HWLOC_VERSION defined
      Add datatype support for new types
      Fix stale definition for PMIX_HAVE_ATOMIC_LLSC_PTR
      Remove PMIX_BUFFER datatype and extend macro definition
      Protect against empty message
      Ensure proper handling of IOF pull requests
      Cleanup several places based on testing with PRRTE
      Use the provided caddy instead of creating a new one
      Correct miscast of object type
      Extend check for empty buffer
      Correctly pass the right object to dereg cbfunc
      Fix Python binding build
      Enable singleton "comm_spawn" operations
      Update to Autoconf 2.7x
      Use LT_PATH_NM instead of AC_PATH_PROG to find nm
      Minor configure cleanups
      Minor fix to libevent configury
      Avoid zero byte malloc in argv_join_range
      Cleanup lingering cruft from updates
      Correct listener - this is a PMIx v4 (not 4.1) server
      Add warning for zlib not found
      Add runtime warning that compression isn't active
      Do not compress unless over limit
      Add clang format support
      Eliminate shadow variables
      Properly handle stdin forwarding
      Update src/common/pmix_iof.c
      Slight touchups on event notification and name print
      Update clang format
      Add compress/decompress APIs
      Fix signature of new compression APIs
      Add missing PMIx_Data... functions
      Add missing items
      Update the v4 bfrops for the new types
      Add a bfrops 4.0.1 component
      You have to at least spawn SOMETHING
      Spawn needs to do a little checking of the app
      Enable singletons to connect to system servers
      Update ptl_base_connect.c
      Setup clients to output forwarded IO
      Set the default for enable-mca-dso
      Reject ambiguous connection options
      Clang-format the code
      Some mods/cleanup of debugger definitions and handling
      Remove debug
      Clan out unneeded test directory
      Fix some lingering merge issues
      Update NEWS and VERSION for rc1
      Some further cleanups
      Fix some minor errors
      Add missing datatype support in darray macros
      Fix typo
      Update comments on debug attributes
      Remove stale envar settings in hwloc support
      Silence warning of unused var
      Minor addition to debug output
      Minor cleanups
      Remove non-required items
      Cleanup the v4.0.1 references and update to v4.1
      Cleanup shadow variables in dstore base and components
      Remove duplicative pmdl/ompi directories
      Add missing m4 file
      Update hwloc support to handle revised version string
      Register ompi5 and ompi4 as aliases for ompi plugin
      Correct the PMIx_Get signature
      Silence some gcc warnings
      Silence some gcc11 warnings
      Protect against bad nspace input
      Cleanup few lingering gcc11 warnings
      Protect against duplicate envar harvesting
      Minor touchups
      Minor updates based on Standards review
      Silence warnings
      Protect register_nspace against new entries
      Add oversubscribed attribute
      Add a few job error constants
      Enable re-init of clients
      Add attribute to indicate copy/nocopy of output directed to files
      Add missing osname endpt elements to bfrops
      Optimize check for nodes
      Transfer stdout/err formatting to PMIx
      Ensure tool output of IOF
      Minor cleanups
      Default tools to outputting their IOF
      Properly exit upon PMIx_Abort
      Some cleanups of the event notification and keepalive support
      Remove stale travis.yml file
      Revert "Properly exit upon PMIx_Abort"
      Update simptest to truly support PMIx_Abort
      Some cleanups for client finalize and IOF output
      Some cleanups for client finalize and IOF output
      Do not forward cached IOF to self
      Add test_v2 directory
      Add configure logic for RM and sse support
      Add pstat framework
      Remove duplicate PMIx_Data_load and PMIx_Data_unload definitions
      Add manpage files for tools
      Add sse common component
      Add the prm components
      Add the storage framework
      Update ptl framework
      Update bfrops framework
      Update pcompress framework
      Update tests
      Update Python bindings
      Update tools
      Update pmix_init
      Update pmix server
      Update query
      Update gds base
      Update tool source
      Update client fabric/spawn code
      Update client source
      Update ignores
      Update pmix.m4
      Minor cleanup
      Correct the PMIX_PREFIX envar name and minor wrapper cleanups
      Correct the PMIX_PREFIX envar name and minor wrapper cleanups
      Let tools request any job-level info available to them
      Self-generate as much info as the tool can do
      Avoid calling client_finalized on abnormal term
      Do not call client_finalized for tools, report lost tool connections
      Require a hardware topology library at configure
      Update Mellanox CI configuration
      Update NEWS and VERSION
      Cleanup some IOF attributes
      Continue updates to support MPICH integration
      Update NEWS
      Update attribute support tables
      Roll VERSION as 4.1.0 has released
      Add couple of missing NEWS items
      Cleanup the device distance computation
      Improve pnet component selection
      Add missing storage constants
      Add missing storage-related datatype support
      Correct vendor IDs and generalize check_vendor
      Add Intel GPU component
      Silence Coverity warnings
      Cleanup Coverity warning
      Check for libevent minimum 2.0.21
      Add missing .m4 files to extra_dist
      Some cleanup of IOF output
      Update Mellanox CI
      Avoid blocking in the stdin read handler
      Minor fix in Mellanox CI
      Mark the read event as no longer active
      Restore the thread join in progress thread "stop"
      Ensure the server waits for all IOF and message events to complete
      Avoid use of MCA params for singleton and report-uri
      Don't treat inability to open shmem file as fatal
      autogen.pl: ignore all excluded components
      Ensure tools wait until all active events are processed
      Prefix the output files with "pmix"
      Cleanup compiler warnings for ancient hwloc versions
      Default to using our local_output flag
      Properly read/output stdout/err from a fork/exec'd child
      Add a Standard extension value to the compliance version
      Cleanup update
      Add missing m4 file
      Update NEWS and VERSION
      Update storage attrs to track Standard
      Add exceptions file
      Roll to release candidate 1
      Provide more info on exceptions
      Add some spawn-specific timeout attributes
      Resolve race condition in lost condition
      Silence compile warnings
      Provide "partial_success" error when collectives not complete
      Don't require pandoc to "make tarball"
      Correctly copy stone age hwloc topologies
      Remove man page Markdown source
      Update VERSION and NEWS
      Update NEWS to include EXCEPTIONS file
      Cleanup the test_v2 area
      Silence Coverity warnings
      Fix resource leak
      Try using TOCTOU instead of lower-case version
      Enable ultra-picky compiler options
      Ensure picky flags not set until after AC is done
      Get the simptest.h file into the tarball
      Expand the tm/pbs config to check for lib64
      Update portable platform file
      Add -Wno-deprecated-declarations
      Cleanup picky compiler warnings
      Update NEWS and VERSION for rc3
      Cleanups for v4.1-only components
      Turn on -Werror for AC_CHECK_HEADERS (#2318)
      Check return code on system function
      Silence Flex warnings from show_help
      Don't check for Python 3.4+ if we aren't building the bindings
      Reduce some more unchecked status return complaints
      Fix another return status not checked complaint
      Enable support for address sanitizers, but only on request
      Fix an address issue in the pif/posix area
      Update NEWS
      Don't default to picky compilers on release branches for Git clones
      Silence Coverity warning
      Set release date
      Fix new test code
      Missed one place
      Update config logic
      Finish cleaning up the test tree
      Update VERSION
      build: Improve handling of compiler version string
      Finish squashing the examples complaints
      Remove duplicate defines of client build dependencies
      Ensure we terminate the input channel when done
      Ensure pmix library gets a chance to cleanly terminate children
      Avoid ABI break in mid-series
      Define a static initializer for data_buffer_t
      Fix typos - replace OMPI with PMIx
      Silence Coverity concerns
      Remove extra lines
      Make the backward-compatible ABI functions visible
      Allow operation if ONLY a loopback device is present
      Return NOT_FOUND instead of deprecated PROC_ENTRY_NOF_FOUND
      Remove stale qsort checks
      Update NEWS/VERSION
      Ensure a param is always initialized
      Provide static initializers for all structures
      Stop in init if rndz URI given
      Update EXCEPTIONS/NEWS files
      Add a little debug info to a verbose output
      Correct copy/paste error - use correct procID
      Update NEWS/VERSION
      Fix PR number in NEWS
      Fix the network support components
      Update NEWS
      Fix a number of warnings and cleanup a few things
      Silence Coverity warning and cleanup code
      Fix devel-check of test_v2
      Add configure support for the pgpu and pnet components
      Final minor diddles of configure summary categories
      The PMIX_HAVE_LIBEV and PMIX_HAVE_LIBEVENT flags must always be defined
      Respect the nocopy qualifier
      Finish cleaning up nocopy behavior
      Silence Coverity warnings
      Updates to cleanup conflicts and touchups
      Enable buffered IOF output
      Cleanups and docs for rc6
      Always build pgpu/pnet components if PMIx supports them
      Remove stale configure check
      Add libtool tweak for Cygwin
      Fix the wrapper compiler txt file path
      Enable ability to bind PMIx progress thread
      Tweak the progress thread bind support
      Protect against HWLOC issues
      Update the hwloc version checking
      Update NEWS
      Fix typo - should be not-equal
      Try modified Mellanox Dockerfile to get it to build
      Update NEWS and VERSION
      Minor cleanups to cherry-picks
      Remove unneeded atomics code
      Port-specific fixes to cherry-pick of atomics
      Begin stripping configure of unnecessary checks
      Initialize the mutex when constructing an object
      Sync the library to the Standard
      Minor port-specific cleanup: convert pmix_value_xfer to PMIx_Value_xfer
      Include typedef for GCC builtin atomics
      Add missing function and improve error message
      Don't search home component path if not present
      Fix Coverity warnings
      Add a couple of print APIs and update pquery to use one
      Minor cleanups for picky compiler settings
      Properly handle tools that have tools connected to them
      Fix Coverity warnings
      Prohibit Python bindings with non-shared lib builds
      Properly handle queries of tools
      Fix warning - compare of different signs
      Fix dmodex operation on local host
      Ensure we get correct return status
      Properly deal with delayed local get requests
      Don't limit message size unless requested
      Fix the "client" example
      Error out if no atomic support is available
      Make pmix_common.h stand alone
      Cleanup the show_help changes a bit
      Backport the utility and class exposure to support PRRTE
      Update VERSION to v4.2.0
      Support colocation of processes
      Require flex only when keyval_lex.c is not provided
      Fix hwloc verbose output
      Some initial valgrind cleanup
      Some minor cleanups for picky compilers
      Fix retrieval of node/app/session-realm info
      Fix the greek version
      Return "succeeded" status when outputting help/version info
      Enable pickyness by default in Git repo builds (#2631)
      Remove bad destruct call
      Update show-help system
      Fix show_help output to include tools
      Fix dmodex operations
      Properly cast the list_item_t
      Add "const" qualifiers to some string print APIs
      Cleanup some debug output
      Stop multiple invocations of debugger-release
      Update the dmodex example
      Minor touchups for picky compilers
      Update VERSION
      Disable picky compilers in dstore
      Update tests for picky compilers and one place in MCA base
      Fix IOF of stdin
      Protect "create" macros from zero entries
      Return the correct code for register fabric
      Forward stdin to apps directly fork/exec'd by PMIx
      Fix the GNU CI r…
clrpackages pushed a commit to clearlinux-pkgs/pmix that referenced this issue Jul 25, 2024
Alex Margolin (1):
      Fix TM detection (Torque / PBS Pro)

Alexei Colin (3):
      ptl: prevent free of uninited suri variable
      psec: include missing psec.h
      ptl: help on too-many-conns: mention conn handle files

Amir Shehata (1):
      PMIX: Fix compile error in macro

Andrey Maslennikov (2):
      CI: enable MLNX CI using Githaub Actions
      CI: make sure to run Actions on PR

Artem Polyakov (32):
      dstore: optimize key search
      dstore: remove extra mallocs
      dstore: Avoid extra extension slots
      dstor/base: Address COV issue 168766
      tests: Fix Coverity issue 163258
      tests: Fix Coverity issue 328237 (Resource leak)
      tests: Fix Coverity issue 328240
      tests: Fix Coverity 328241, 328243
      tests: Fix Coverity issue 328238 (NULL dereference)
      tests: Fix Coverity issues 328244,328246 (uninitialized variable)
      tests: Fix Coverity issue 328245  (NULL deref)
      PMIx poc of the flexible-size integer packing.
      Fix fence tracker locality detection for wildcards
      test suite: Update help message for pmix_test
      test suite: Make sure that errors ar propagated correctly in pmix_test
      test suite: Add timings to the verbose mode
      test suite: Add timestamps to the output
      pmix suite: slight refactor to remove compiler warnings
      test suite: Minor additions for debugging output
      Remove accidental "tab"
      Fix debug output
      server: Fix PMIx_Server_Finalize hang
      Revert "Define host/network conversion for size_t"
      ptl: Fix message header `nbytes` field ambiguity
      PTL: Fix the connection establishment protocol
      Enable multi-server tests
      Simplify tracker initialization
      Revert "Fix memory leak as explained in issue 1548"
      dstore: Fix the memory leak
      dstore: Fix the memory leak (cont ...)
      dstore: Fix namespace tracker initialization
      dstore: Fix cache size calculation

Artem Y. Polyakov (1):
      dstor: Make dstor modex to be more efficient.

Austen Lauria (29):
      Initialize nlocal and local in the tracker.
      Fix various PGI warnings.
      Silence PGI atomics warnings, while not breaking clang.
      Have developer builds use -O3 by default.
      Fix clang compliler regression.
      Fix check for IBM xl compilers for v13.1 and later.
      Fix configury where most compilers will get mislabeled as 'gnu'.
      Fix case where var->mbv_enumerator can be released when static.
      Silence -qinline xlc compiler warning.
      Validate CFLAGS individually.
      Add -Wshadow to --picky-compiler
      Purge shadowing as reported by gcc.
      leak: Free items in nslist for fence tracker.
      Leak: Always free ns->jobbkt in pmix_nspace_caddy_t destructor.
      leak: Fix case where buffer was unloaded, losing the pointer.
      pmix_iof.c: malloc buffer before memcpy().
      pmix_cmd_line.c: Stop parsing at the executable.
      Reset getopt() to 0, not 1.
      Fix ipv6 build with prrte.
      examples/dmodex.c: Fix some bugs.
      Modify pmix_show_help_init() to take an addition helpdir.
      pmix_hotel_recheck(): Remove this function.
      Runtime: Add tool version, org, and custom message.
      Initialize size for getsockopt().
      Revert "Leak: Always free ns->jobbkt in pmix_nspace_caddy_t destructor."
      Protect critical zone in pmix_obj_update().
      In the case where the server is using a different dstore component,
      Refactor show_help() to use the PMIx_Log() api.
      iof: Fix merging of stderr to stdout.

Axel Huebl (8):
      Travis CI Script
      Travis: Clang and Undefined Behavior Sanitizer
      Warning: Sign Compare
      Warning: Sometimes Uninitialized
      Warning: Unused Parameters
      Warning: More Unused Params
      IPv6 IF Read: Buffer Overflow
      Fix comment: IPv6 IF_NAMESIZE

Bernhard M. Wiedemann (2):
      configury: Allow to override build date+host+user
      Allow to override build date with SOURCE_DATE_EPOCH

Boris Karasev (61):
      dstore: fixed the logic of unmaping dstore segments
      dstor: added the check of the dstore tracker is existed
      dstore: create new 'src/mca/common` area with dstor
      dstore: added `ds12` locking modules
      dstore: introduced the dstore context structure
      dstore: avoid locking while storing job info
      dstore: added `ds21` with new locking scheme
      dstore: better way to file naming
      dstore: moved the lock from the session to nspace info
      dstore: moves segments implementation to the external module
      dstore: implements a locking with multiple namespaces
      dstore: fixed build
      dstore: rename files in MCA style
      dstore: fixed PMIx visibility of shared library symbols
      dstore: fixed the lock item cleanup for init error case
      dstore: fixed assignment of components
      dstore: fixed setting of lockfile permissions
      dstore: ds21 locks are aligned to the size of the cache line
      Fixed verbose output for get operation.
      dstore: added support for multiple dstore format module
      dstore: clarifying a function name
      test: introduced the support of the multi-server test mode
      test: fixed copyright
      dstor: fix detection of invalidated key
      dstor: moved return of compare and check flag operations to boolean type
      Use fastpath to get keys without thread shifting, if supported by GDS
      Removed dstore fastpath MCA option, disabled fastpath for ds12
      test: multiserver fixes
      modex: removed not used local callback list from GDS modex callback
      modex: forwarding a tracker into GDS modex callback
      modex: generalized unpacking of procs
      modex: optimization of rank identification size reduction
      bfrops: added missed types to darray constructor/destructor
      bfrops: regtypes used for internal purposes
      bfrops: removed unneeded pack_gentype/unpack_gentype
      Fix assigning client bfrops component for PMIx v3.x servers
      modex: fix unnecessary proc unpacking for the gds:hash
      util/argv: added `pmix_argv_append_unique_idx` function
      modex: reduce modex size by replacing key names with indexes
      modex: added selection of the key name packing format
      gds/ds21: update the pointer of `seg_hdr` when segment re-attached
      Rename flex256 to more logical name flex128
      psquash: added flexible-size integer packing
      psquash: rename `none` component to `native`
      psquash: implement `native` component
      psquash: added flag of necessity to pack the type of value
      bfrops: fixed PMIX_QUERY size packing/unpacking
      bfrops: added psquash with integer flexible packing to bfrops v4
      modex: avoid exchange unnecessary buffer when collect flag is not set
      modex: generate an error if the collect flag is set and data is empty
      modex: do not store the same blob multiple times for the same GDS module
      bfrops: fixed coverity: `Using uninitialized value "*tmpbuf"`
      psec: add dummy handshake component
      dstore: fixed truncate key-names while restoring
      Fix `nodeid` condition while finding nodeinfo item
      Test: fixed multiserver test mode
      Test: fix type of keys `PMIX_PROC_MAP` and `PMIX_NODE_MAP`
      pmix_server_get: avoid creating a local tracker for existing keys
      Fixes propagation of the number of local processes to GDS
      Fixes cleanup the dmdx satisfied request list
      ds21: fixed crash of dstor locks destructor

Brian Barrett (48):
      dist: Clean up handling of --disable-dlopen in dist process
      build: Support hwloc and libevent cobuild
      build: Fix maintainer-clean issue
      build: Allow autogen.pl to be run from a tarball
      Fix compile error in ptl_base_connect.c
      build: Change default build mode for components
      build: Remove options around mca direct calling
      build: Explicitly list libpmix dependencies
      build: Fix compiler attribute detection
      build: Fix compiler family detection
      atomics: Only support C11 and GCC builtin atomics
      atomics: Fix broken make dist
      common/sse: Ensure library links against libcurl
      man: Fix path check to see if pandoc is required
      Remove cobuild remnants from configure
      Remove curl/jansson default search assumption
      Mark dependencies private in pkg-config file
      config: Remove string checks in hwloc/libevent
      Reintroduce PMIX_DYN_LIB_SUFFIX define
      Add wrapper compiler mca link argument passing
      Remove pkg-config dependency list
      Clean up libevent/libev selection logic
      libevent: prefer compiler tests over linking tests
      Fix two bugs in OPAL_FLAGS_APPEND_MOVE
      Add static library note to README
      build: Be more flexible in library handling
      build: Fix escaping issue in pkg-config file
      Be defensive against string literals in env
      Remove block of hwloc 2.5 - 2.7
      test: Fix dereference issue in environ test
      Clean up unused return value warnings
      Remove unnecessary sys/sysctl.h includes
      Push additional include in pkg-config/wrappers
      wrapper: Remove unused pmix{include,lib}dir
      Better handle flags in wrapper & pkg-config
      Eliminate PMIX_FLAGS_UNIQ
      Migrate PMIX to OAC_CHECK_PACKAGE (#2515)
      build: Fix common/sse check
      build: Fix leak of non-LIBS flags into LIBS
      build: Fix output stream bug in summary
      build: check_package static improvements
      build: Wrapper/pkg-config improvements
      build: Use MCA env management for common/sse
      build: Clean up delayed flags
      build: Delay adding DELAYED_LIBS even more
      pnet/nvd: Fix macro escaping issue
      build: Import and use external Autoconf repo
      build: Update to use OAC_C_COMPILER_VENDOR

Brian J. Murrell (1):
      Add BuildRequires: libevent-devel to spec file

Brice Goglin (2):
      pmix_hwloc.h: PACKAGE/NUMANODE replaced SOCKET/NODE in 1.11, not 1.10
      pmix_hwloc.c: use NUMANODE by default

Charles Shereda (19):
      Added test_v2 directory for new version of test suite (#2)
      Created support functions for test infrastructure.
      Added first test to new test_v2 suite
      Infrastructure changes for v2 version of test suite
      Added 'helloworld' test to v2 test suite with
      Created basic PMIx_Get() test case
      Fixed uninitialized data bug in pmi_base64_encode_block.
      Bug fixes to Makefile, pmix_test.c, and all client tests.
      Added test to get information on peers
      Added multiserver (> 2) capability to test suite
      Added basic wildcard fence test with no data exchange
      Enabled command line options to be passed directly to test cases
      Added erroneously excluded test_fence_basic.c test case
      Modified test_v2 status code return logic so
      Replaced PMIx_Notify_Event with cbfunc call in errhandler to match
      Added test_v2 to autoconf/automake processing
      Added v2 test for partial fence test (only some servers participate)
      Fixed format specifier problems in v2 test suite
      V2 suite test case for multiple inits and finalizes

Christoph Junghans (1):
      issue_template.md: use <!-- -->comments to hide details

Christoph Niethammer (4):
      Fix header guard
      Delete dead code
      Clean up left over .gitignore entry after mca/common/* removal in 4f8a4bdc
      Fix compiler error from unused function parameters

Danielle Sikich (Intel) (40):
      Fix schedular example in python bindings
      update info type to use a list of dictionaries
      Send value and value type tuple to pmix_load_value
      Update python bindings to use error codes
      Add PMIx_Get wrapper in Python bindings
      Update value type in Python bindings
      Update python darray type to use dictionary
      Fix sched.py to use correct darray type
      Update proc tuple of nspace and rank to use dict
      Add Python wrapper for PMIx_Publish
      Fix string/byte comparison for python regex
      add python wrappers and server host functions
      Add helper function for allocating info structs
      add python query_info client wrapper
      Cleanup debug print statements and update tests
      Add helper function for allocating info structs
      Add pyeventhandler code
      Remove with gil on pyeventhandler
      cleanup register event handler test in client
      Python: add callback function invocation in fence
      python: add correct return from directmodex
      update README links so build status shows
      python: cleaup pyshift structs
      python: add callback and invocation for spawn
      python: add toolconnected and allocate callbacks
      python: add monitor client wrapper
      add getcredential client wrapper and server cb
      python: add validate cred client wrapper and cb
      python: add iofpull wrapper
      python: fix client rcs and add iofpush wrapper
      python: add server register attributes function
      python: move tests into python directory
      python: add missing wrappers and iof hdler
      python: add store_internal func for client class
      python: add iof_deregiter and update pyiofhandler
      python: add initial cython test structure
      python: bug fixes for pmix_load_value
      python: fix more type conversions in load_value
      python: add missing data conversions for types
      python: add pmix_unload_darray function

David Solt (3):
      Fix access to uninitialized info
      Fix fences with namespaces where no local processes are running
      Fix memory leak as explained in issue 1548

David Wootton (3):
      Initialize myproc structure before calling PMIx_tool_set_server
      Ignore PMIX_ERR_UNPACK_READ_PAST_END_OF_BUFFER status in
      Select all adapters with IPV4 addresses within specified subnet ranges.

Geoffrey Paulsen (1):
      fix potential memory barrier bug with __atomic builtin atomics

Geoffroy Vallee (2):
      Fix a typo in comments: insertted -> inserted
      Fix typo in comment: contiaing -> containing

George Bosilca (1):
      Optimize the file descriptor cleanup on OSX

Gilles Gouaillardet (70):
      test: plug a memory leak in the simple/stability test
      gds/hash: plug misc memory leaks
      make PMIX_VALUE_DESTRUCT() recursive
      configury: define C11 macros once
      configury: call PMIX_SETUP_CC only once
      bindings/python: fix make install when VPATH is in use
      util/path: only include sys/mount.h once
      common/pmix_strings: silence warnings
      iof: plug a memory leak in the pmix_iof_req_t destructor
      plug a memory leak in pmix_value_destruct()
      plug a memory leak in the spcbfunc() callback
      event: plug a memory leak in pmix_invoke_local_event_hdlr()
      plug a memory leak in the pmix_query_caddy_t destructor
      pnet/tcp: plug a memory leak in allocate()
      plug a memory leak in pmix_server_register_events()
      pnet/base: plug misc memory leaks
      server: add the number of objects to pmix_setup_caddy_t
      fortify the PMIX_BYTE_OBJECT_FREE() macro
      plug a memory leak in pmix_server_job_ctrl()
      Fix the pmix_setup_caddy_t usage
      plug a memory leak in the pmix_notify_caddy_t destructor
      gds/ds12: plug a memory leak in pmix_ds12_lock_finalize()
      dstore/base: plug a memory leak in pmix_common_dstor_del_nspace()
      server: have query_cbfunc invoke the release callback when available
      gds/base: plug a memory leak in pmix_gds_base_store_modex()
      event: fix notify_event_cache() eviction algorithm
      pmix_control: plug a memory leak in query_cbfunc()
      epilog: fix a typo in pmix_execute_epilog()
      common/dstore: plug a memory leak in pmix_common_dstor_finalize()
      Fix the greek version (make it 'a1')
      gds/ds21: fix support for 32 bits arch
      event: plug a memory leak in _notify_client_event()
      configury: enhance C11 detection (#1059)
      test/simple/simptest: do not PMIX_THREADSHIFT() an object allocated on the stack (#1060)
      configury: automatically generate PMIX_NUMERIC_VERSION
      configury: fix PMIX_NUMERIC_VERSION
      test/simple/simpclient: fix a type issue in model_registration_callback()
      test/test_server: do not invoke libevent directly
      configury: revamp libev vs libevent detection
      Fix libev support
      libev: fix libev support
      bfrops/base: silence a warning in PMIX_BFROP_UNPACK_SIZE_MISMATCH_FOUND()
      bfrops/base: fix a typo in pmix_bfrops_base_unpack_app()
      server: plug a memory leak in _collect_data()
      util/argv: remove the useless 'overwrite' parameter
      configury: fix git source tree is detected
      configury: use PMIX_ENABLE_DLOPEN_SUPPORT instead of enable_dlopen
      configury: fix a typo in embedded mode handling
      libev: wrap pmix_event_base_loopexit()
      util/environ: use setenv() if available
      plug a misc memory leak in the pmix_query_caddy_t destructor
      client: plug a misc memory leak in _getfn_fastpath()
      runtime: plug a misc memory leak in pmix_rte_finalize
      configury: plug misc memory leaks
      travis: test python bindings
      configury: replace opal_show_subtitle with pmix_show_subtitle
      psec/base: make it re-initializable
      gds/base: make it re-initializable
      psensor/base: make it re-initializable
      ptl/base: make it re-initializable
      pshmem/base: make it re-initializable
      pnet/base: make it re-initializable
      bfrops/base: make it re-initializable
      plog/base: make it re-initializable
      pmdl/base: make it re-initializable
      preg/base: make it re-initializable
      psquash/base: make it re-initializable
      configury: fix --with-ofi=DIR handling
      configury: fix _PMIX_CHECK_PACKAGE_LIB() macro
      configury: do look for sed

HawkmoonEternal (1):
      avoid loopback in resolve_nspace_requests

Heena Sirwani (2):
      Plug a memory leak
      Add initial support for PMIx_Get operations on groups.

Howard Pritchard (11):
      examples: swat compiler warnings
      icc: suppress no_long_double
      finalize: set hostname in global to NULL
      fix a problem using PMIX_RANK
      test_v2: use static declaration for client parser
      examples: add a test to simulate open mpi group
      llvm/oneapi: fixes to bring pmix up to iso c99
      pmix reinit: a fix to allow pmix to be reinitable
      oneapi (and probably llvm): patch to allow
      PMIx_Query_info: removed duplicated PMIX_RELEASE
      fixes for pr 3329

Jai Dayal (1):
      Adding support for HPE sshot, usable for RMs. (#2714)

Jakub Klinkovský (1):
      Fix broken link in README

Jeff Squyres (47):
      pmix_server: minor compiler warning stomp
      autogen.sh: remove outdated sym link
      Remove all references to autogen.sh
      mca base: warn if dir component_dir path fails to add
      pmix_setup_cli.m4: do not escape $
      Update various PMIx URLs
      HACKING: Update flex URL
      Makefile.pmix-rules: remove unnecessary rules
      Convert man pages to Markdown
      travel: add "make distcheck"
      configury: fix final wrapper setup
      construct_dictionary: fix VPATH usage
      construct_dictionary.py: add Python 2 compatibility
      include/Makefile.am: fix dependencies
      mlnx: Install Python3 for CI
      pmix.m4: abort if we need new Python and can't find it
      Sometimes we just need any version of Python
      construct_dictionary: cleanups
      Revert most of 77f47642
      construct_dictionary: improve error messages
      Remove some stale Makefile.am kruft
      pmix_common.h.in: remove non-ASCII characters
      construct_dictionary: make sure to exit with errors
      construct_dictionary: clarify src vs. build dir
      src/include/Makefile.am: ensure files are in tarball
      src/Makefile.am: remove unnecessary kruft
      configury: fix getdate.sh woes
      pmix_get_version.sh: fix one more getdate.sh instance
      pmix.m4: abort if gcc is <= v4.8.1
      configure.ac: update directory space check
      pmix_fd: cap the max FD to try to close
      construct_dictionary.py: make .format() safe for Python 2
      src/include/Makefile.am: avoid potential file corruption
      python: updates for Python bindings
      First cut of Sphinx / ReadTheDocs docs
      mlnx Github action: install Sphinx
      docs: put restrictions on Sphinx versions
      config/oac: Update OAC submodule pointer
      pr-target.yaml: require cherry picks
      .github/workflows: update actions versions
      docs: update readthedocs.org config
      show_help: strip leading/trailing blank lines
      docs: fix some leftover "Open MPI" references
      docs: fix HTML word wapping in table cells
      Add a new Github Action
      pmix.h: Add capability flags
      oac: strengthen Sphinx check

Jie Zhang (1):
      Fix dependency issue with hwloc

Joe Downs (2):
      Add action to check commits on pull requests
      configure: abort in 32-bit environments

John Paul Adrian Glaubitz (1):
      tests: Fix multiple occurrences of unaligned access

Jonathon Anderson (2):
      Updated specfile BuildRequires
      Additional BuildRequires in spec

Josh Hursey (1):
      psquash: reword the comment

Joshua Hursey (39):
      Transfer all cached data to client dstore gds
      ptl/tcp: Make try connect retry/timout MCA adjustable
      Allow for multiple children in the waitpid loop
      Wrap the innder dstore kv in an object.
      Fixes PMIx_generate_regex ordering
      Add a psquash framework for type encoding
      Open/close psquash framework in bfrops/v4
      psquash: fixed a comment typo
      psquash/flex128: Fix mismatch prototype
      Cleanup example use of pmix_value_t
      Adjust hotel timeout to be in whole seconds
      Sync master/NEWS with 3.1.5
      Export pmix_notify_check_range so the ptl/tcp component can use it.
      Fix `pmix_wrapper` by initializing the `pmix_pinstall_dirs`
      Make `pmixcc` a default binary
      Move from -levent to -levent_core
      Add a LSF libevent.so check on Libevent check
      Add option to bypass local-only fence optimization
      Sync NEWS with v3.2 release
      Adjust Python bindings to match C
      Add the PMIx Standard version level to the version string
      Fix Mellanox CI pmix version check
      Fix cython configure check
      Fix Python binding build for VPATH
      Py: Open files as UTF-8 while processing
      Tool finalize crash due to ref count issue
      GitHub Action for xversion testing
      Remove the Docker Auth GitHub Environment
      Fix typo in configure script
      Fix race condition when processing pending get requests
      Move the Special builds to GitHub Actions
      Setup PMIX_STD_ABI_VERSION in the VERSION file
      Define the PMIX_QUERY_ABI_VERSION attribute
      Backend query support for PMIX_QUERY_ABI_VERSION and local keys
      Add examples for using PMIx_Query_info with PMIX_QUERY_ABI_VERSION
      Initialize pmix_info_t flags when loading
      Update the PMIx ABI Query attributes to match the standard
      Add PMIx Standard version info to pmix_info
      Update Github actions to use submodules

KAWASHIMA Takahiro (2):
      configury: Fix cross-compiling `PMIX_ALIGNMENT_*`
      configury: Use `AC_CHECK_ALIGNOF`

Kilian Cavalotti (1):
      SPEC: allow splitting RPM in pmix and pmix-libpmi packages

Luke Robison (3):
      [v5.0] RTD: Add .readthedocs.yaml file
      Define pmix atomic ops for c11 atomics
      Remove unneeded header from pmix_shem.c

Matt Baker (1):
      Release GIL before registering event handler

Matthew Baker (8):
      Initalize val before get in case get isn't successful
      Update how C to Python bytes/strings are handled for get and byte objects
      Fix up string creation functions, take the GIL in the callback code, and system malloc instead of the Python malloc for datastructures going to PMIx
      Only conditionallly decode the nspace return value when we are sure the return code is PMIX_SUCCESS
      Change construct.py to mark PMIx functions with nogil and call PMIx_Spawn with nogil
      Add GIL protections to IOF callbacks, drop GIL when registering callbacks, fix allocation error in bytes object
      Have python bindings properly setup the env
      The PMIx_IOF_Push() function can take a NULL option for its buffer object. Update Python bindings so it can use this.

Matthieu Dorier (1):
      Started the generation of a pkg-config file

Michael Blocksome (1):
      squash rpm warning about macro expansion in a comment

Michael Karo (3):
      Link against libz when testing for TM
      Remove unnecessary shift in script
      Correct references to help-ptl-tool.txt

Michael Kuron (1):
      Deal with EOPNOTSUPP returned from getsockopt()

Orivej Desh (1):
      Fix if_linux_ipv6_open interface filter

Philip Kovacs (3):
      remove unnecessary libtool init for c++
      fix incorrect pointer casts/derefs
      fix another pointer cast/deref in test suite

Raafat Feki (1):
      Update config/oac submodule

Ralph Castain (1289):
      Add missing pmix_config.h
      Protect opa component when no hwloc available
      Some minor cleanups
      Cleanup stability test
      Continue cleanup of finalize
      Revert connect/disconnect to v2 signatures
      Minor cleanups
      PMIx master is now targeting v4.0.0
      Update spec file to 4.0
      Build out the OPA inventory collection
      Deal with incremented version number
      Ensure we get topology for inventory
      Cleanup collection of OPA inventory
      Continue work on opa
      Some cleanups in the allocate code path
      Protect for no hwloc
      Cleanup connection check and add missing include
      Minor cleanup
      Fix typo in configure so include files are found
      Update atomics
      Silence Coverity warnings from OMPI
      Fix include path
      Remove stale code
      Free component values at close
      Document functions tested by stability
      Implement support for PMIX_SYSTEM_TMPDIR on server
      Check for required header for opamgt support
      Only build opamgt support if requested
      Unlock thread prior to object release
      Tools need to init tmpdirs too
      Simplify cython detection
      Use srcdir instead of top_srcdir
      Continue working on Python bindings
      Add numeric version field
      Update spec file to automatically track version
      Complete initial pass thru prototype Py bindings
      Point to correct place for posting issues
      Minor mod to simptest
      Common component libraries must be versioned
      Fix missing ifdef
      Correct typo to ignore common framework for static-components.h
      Don't fight the MCA naming convention
      Expose the rest of the argv functions
      Update simptest to return client status
      Add a new header file to contain extensions
      Implement job control and sensor APIs
      Add error string and remove debug
      Missed one spot where we need to avoid the cbfunc
      Cleanup a few things
      Silence Coverity warning
      Update the job_ctrl return code
      Update sensor support
      Remove stale return call
      Fix event notification operations
      Add missing file to dist
      Add debugging output to pnet components
      Add a little more debugging
      Shift the PROC_TERMINATED constant into v2 region
      Update NEWS
      Backport changes to expose tools when embedded
      Add support for user-specified rendvous file
      Updates for indirect launch by debugger support
      Silence coverity warnings
      Sync to formal standard doc
      Convert the code base to use pmix_strncpy
      Update Python bindings
      Remove stale MacOSX protections
      Stabilize the user-facing error constant
      Bring the APIs into compliance with std
      Further cleanup use of strncpy
      Ensure we only open the pshmem framework once
      Protect PMIx from bad configure entry
      Complete indirect launch via debugger/tool
      Fix incorrect datatype on MCA param registration
      Ensure usock support is enabled on server
      Backport fix from OMPI - correct typo
      Implement PMIx group collective APIs
      Fix merge error in notification
      Improve debug messages
      Do not error out if topo provided...
      Silence a couple of Coverity warnings
      Silence Coverity warnings
      Continue implementation of PMIx Groups
      Remove the pmix_group_t object upon group destruct
      Enable PMIx_Group_construct to return a context ID
      passing a bool to va_start() is undefined
      Sync with OPAL atomics
      Add missing pmix_config.h
      Do not register events if host doesn't support it
      Store the server URI
      Silence warnings and fix ds21 for new atomics
      Ensure SIGCHLD is unblocked in simptest
      Use pmix_setenv instead of argv_append
      Default the v2.0 GDS to "ds12,hash"
      First pass at bringing the library into compliance with v2.1 of the standard
      Cleanup tool operations and remove debug
      Avoid sending messages to procs that have finalized
      Protect trackers from double release
      Add a timer to avoid memory leaks
      Report events only to members of the failed procs nspace
      Cleanup the simpdie test so it correctly terminates and is reported as success
      Ensure clients still receive a socket termination when the server dies
      Shift the trackers before accessing them during collective callbacks
      Silence Cython warning by setting language_level
      Add process set name key
      Fix race conditions in tracked requests
      Move to next tracker if we have removed and released the current one
      Be more careful about who is releasing what.
      Ensure the tracker is marked for lost connection
      Complete Query update for v2.1 compliance
      Define new attributes for querying pset values
      Add a fence if they request a barrier
      Implement pset-related queries. Ensure that the host is aware of psets when created
      Correctly handle refresh_cache for queries
      Fix group construct/destruct
      Silence error logs on rejected connections
      Correct typo on proc assignment
      Silence unnecessary warning message
      Pass the tool's pid to the server
      Correctly handle client tools
      Add attribute to mark that a job consists of tool
      Ensure that lost-connection events get delivered to default evhandlers
      Enhance group construct for local ops
      Restore prior sizes for max nslen and keylen
      Expand the local procs/peers wildcards for group construct
      Ensure we expand wildcard even if only one local proc
      Attempt to address the case where data isn't found
      Overhaul the event caching system
      Silence Coverity warnings
      Bump the oldest notification to make room, if needed
      Enable passing of error message in event
      Remove stale man pages
      Fix permissions
      Remove events once all targets notified
      Correctly handle local notifications
      Properly cache IO for pending registrants
      MOdify the connection order so we do system-first if requested
      Ensure that epilogs get run
      Have the server check its local cache for queries
      Update the examples
      Add missing file to tarball and missing attributes
      Add missing file to tarball and missing attributes
      Construct the list before use
      Pass the tool's cmd line to the server
      Add some missing macros to pmix_common.h
      Eliminate counter confusion across macros
      Protect hotel ops against negative room numbers
      Update our handling of hwloc configure
      Update the hwloc and libevent config files
      Have a server store its internal URI for retrieval
      Use affected procs for filtering notifications (#1056)
      Save hostname for use in responding to queries (#1063)
      Correct the case of registering a default event handler
      Ensure we return the correct status
      Fix typo in PMIX_SYSTEM_EVENT macro
      Forward PMIx MCA params by launchers
      Update docs
      Require that the thread_usage macros always be inlined
      Update configure logic for clock_gettime
      Restore PMIX_NUM_SLOTS
      Update configure logic
      Improve performance and hardness of pmix_strncpy
      Remove the "restrict" keyword to avoid requiring C99 for apps
      Use "restrict", but protect it
      Simulate assigning network coordinates for OPA
      Implement PMIx_IOF_push (#1109)
      Complete implementation of stdin forwarding
      Update ignores
      Add support for libev
      Cleanup missing abstraction repairs
      Port the compression framework to PMIx
      Rename the compress framework
      Update attr registration and pretty-print
      Remove stale file reference
      Revert "Update attr registration and port compression framework"
      Avoid segfault in event notification
      Atomics: fix a compiler warning on POWER arch
      Port the compression framework to PMIx
      Update attr registration and pretty-print
      Continue working on the Python bindings
      Silence warnings
      Fix zlib component visibility
      Silence Coverity warnings
      Backport https://github.com/open-mpi/ompi/pull/6500
      Backport https://github.com/open-mpi/ompi/pull/6500
      Silence Coverity warnings
      Update pmix_server_ops.c
      Delete timeout timer when op completes
      Remove dependency on C++ compiler for thread detection
      Check for Flex
      Only check for Flex if we are in a git clone
      Continue development of Python bindings
      Improve setup.py descriptions
      Continue work on client
      Continue down the client API list
      Add missing links for static builds
      Ensure any cached notifications arrive after reg completes
      Implement "make check" in the tests subdir
      Replicate the tests in current Mellanox Jenkins
      Ensure "make check" finds executables in VPATH builds
      Silence unnecessary error log messages
      Add --disable-dlopen to configure args in make_dist_tarball
      Replicate the tests in current Mellanox Jenkins
      Refactor code for easier reuse
      Complete load/unload of values
      Complete implementation of server module functions
      Remove stale code in make_dist_tarball
      Fix the tests in the test subdir
      Silence warning if default component repo paths don't exist
      Separate out the "make check" tests so they report individually
      Remove the link-backs to libpmix
      Add a new configure option specifically to enable non-global dlopen
      Default to disable-nonglobal-dlopen in embedded mode
      Fix case of multiple launcher calls in job script
      Enable launcher tools to fork/exec local children
      Properly handle rendezvous files for launchers
      Export missing symbols
      Define host/network conversion for size_t
      Ensure all participants are notified of fence complete
      Update the disconnect and connect ops too
      Preserve user-provided CFLAGS to protect autotools
      Add static constructor for pmix_list_item
      Silence unused param warnings in bfrops base
      Check for test existence and permissions
      Restore the hton/ntoh support for size_t
      Silence Coverity warning
      Silence Coverity warnings
      Correct dmodex example
      Silence Coverity warnings
      Add scheduler header
      Silence another Coverity warning
      Add scheduler skeleton infrastructure
      Handle multiple types directed to generic pack/unpack fns
      Add unsigned types to generic type check
      PTL/tcp: Fix the tool connection in psec/handshake mode
      Add scheduler interfaces to Python bindings
      Silence Coverity warnings
      Avoid output_verbose overhead when it won't print
      Add missing scheduler function
      Detect Python path and use that in the Py examples
      Tools that don't connect do not need to provide ID
      Allow servers to pass NULL module
      Allow setup_fork to proceed even if gds and pnet don't contribute
      Provide blocking ability to the register/deregister fns
      Allow jobs to not specify proc-level info
      Implement pnet/test sched support
      Provide proc data in cases where host does not
      Add some more values that can be computed
      Re-enable the pnet/tcp component
      Add missing tool rendezvous file
      Fix potential integer overflow in regex
      Silence Coverity warning
      Work around memory barrier bug in older gcc
      Silence Coverity warnings
      Prep tutorial and complete pnet/test component
      Implement Python bindings for setup_app and setup_local
      Silence Coverity warnings
      Silence more Coverity warnings
      Provide memory op hooks in macros
      Correct handling of buffer object
      Fix xversion spawn test
      Correctly load byte object in Python
      Add some more debugging to Python bindings
      Must provide the node and proc maps to register nspace
      Add -fPIC to static builds
      Fix support for 32-bit builds
      Cache all the -W CFLAG entries
      Provide data type string support prior to Init
      Add some appropriate socket options
      Correctly handle with-devel-headers
      Do not use '==' in m4 test statements
      Fix use of gethostname
      Reserve that last space for the NULL
      Complete implementation of network coord support
      Move the testing of coord capabilities into separate test
      Fix CID 187660
      Fix CID 1449977
      Fix CID 1449973
      Fix CID 1449969
      Fix CID 1449959 and 1449965
      Fix CID 1449958
      Fix CIDs associated with the test subdir
      Silence Coverity warning
      Implement support for class-based info arrays
      Implement the node array support
      Capture initial work on retrieving node/app values
      Implement retrieval of node, app, and session info
      Remove debug
      Silence Coverity warnings
      Fix Python bindings
      Remove useless requirement for pandoc in Python bindings
      Cleanup pnet/test component and associated test
      Don't whack the rendezvous file if you are a tool
      Fix legacy support for PMI-1
      Cleanup handling of data requests for different nspaces
      Remove unnecessary error log
      Be more restrictive on the minimum Python requirement
      Resolve get of proc-specific job-level info from another nspace
      Fix a typo and add a little debug
      Silence warning
      Fix simpclient to use job size instead of universe
      Fix problems in the Log code path
      Update the "simple" tests
      Protect against NULL object
      Skip fastpath/dstore for NULL keys
      Change IF_NAMESIZE to PMIX_IF_NAMESIZE
      Change IF_NAMESIZE to PMIX_IF_NAMESIZE
      Check for EINVAL return from posix_fallocate
      Minor cleanups in the Python bindings
      Update travis - remove gfortran
      Add libhwloc-dev to Travis
      Extend the Python binding support
      Ensure proper identifcation of egg site
      Fix xnspace dmodex and add verbose debug
      Resolve request for job-level data
      Fix xnspace get yet again
      Minor cleanup
      Bring into compliance with v4 Standard
      Silence Coverity warnings
      Cleanup pnet/test component
      Add blocking form of PMIx_Query_info
      Cleanup some Python bindings and update test
      Update pmix_coord_t to track Standard
      Implement the revised generate_regex[ppn] support
      Provide a backup method for finding cython
      Cleanup a couple of attribute definitions
      Remove debug error logs
      Return the correct status from PMIx_Publish
      Cleanup handling of info arrays
      Cleanup example and remove debug
      Silence Coverity warnings
      Update blocking Allocation_request signature
      Add ability to provide custom environments
      Fix 'get' of data for unknown namespace
      Silence Coverity warning
      Update the NEWS from the release branches
      Update blocking Allocation_request signature
      Add Tool class and fill in more client functions
      Add missing parameters to blocking APIs
      Update sched.py in tests/python
      Update blocking APIs to match standard
      Continue prototyping Python bindings
      Silence Coverity warnings
      Silence warnings from construct_lock macro
      Silence time-of-check-time-of-use warnings
      Fix some Python bindings and avoid double-ref of list item
      Complete the Python binding prototypes and add missing functions
      Fix some double-free errors
      Minor touchup to the python bindings
      Silence miscellaneous compiler warnins
      Example of how to threadshift in Python bindings
      Add a wrapper compiler for building PMIx-only apps
      Fix visibility
      Check for the new required functions
      Include missing binding files in tarball
      Test blocking form of PMIx_Query_info
      Silence Coverity warnings
      Define finer-grained proc type flags
      Remove debug
      Fix bug in blocking event hdlr registration
      Break a hang when registering events from Python
      Leave things correctly coded for blocking event handler registration
      Ensure we capture the stderr output
      Add missing wait for thread lock to complete
      Update gitignore
      Cache local peers in deprecated form for older versions
      Try to fix the "test" area
      Continue to work around the dstore's limitations
      Resolve compiler differences
      Python: Cache events if evhdlr not found
      Clarify tests to show that Python evhdlrs are being invoked
      Correct the simple tests
      Further cleanups for xversion support
      Cleanup some cross-version issues
      Minor cleanup of simptest
      Update README.md
      Further cleanups for xversion support
      Correctly transfer info to dstore for older versions
      Fix support for older servers
      Communicate the server's version to its clients
      Update the "make check" tests
      Add timeout capability to make check
      Take a pass thru tests ensuring they exit with error
      Initialize the proc type variable
      Correctly pack return data for "get" of other namespace
      Remove event handler registration from tests
      Correctly xfer node-level data arrays for pre-v3.1.5 clients
      Need to directly store local peers for the local host
      Remove debug
      Remove fake nodenames as it confuses earlier versions
      Deal with servers using older versions
      Continue repairs of xversion make check tests
      Fix singleton initialization
      Add missing IOF_deregister function
      Cleanup IOF registration
      Add a PMIX_OUTPUT_TO_DIRECTORY attribute
      Protect pthread setpshared calls
      Silence warning
      Correct the gds/dstore configure logic
      Add test for cycling PMIx Init/Finalize
      Add fixes for pcompress and pfexec frameworks
      Fix the mlnx CI - cannot use ds21 if --disable-pthlk
      Final changes to enable cycling of init/finalize
      Silence error log
      Update ignore
      Silence Coverity warnings
      Fix bugs in gds/hash and preg/native
      Add pnet/simptest component
      Remove the "optimized" platform file
      Silence Coverity warnings
      Cleanup a few compiler warnings
      Silence a flood of warnings
      Initialize the local flag to true
      Add reincarnation tracker attribute
      Silence Coverity warning
      Add definition of PMIx job states
      Re-address the collective tracker problem
      Complete debugging of the collective tracker
      Allow user to request cache refresh
      Add some attributes
      Properly support dmodex requests (#1611)
      Ensure the switchyard doesn't prematurely release the server caddy
      Comment out the multi-server emulation tests until they can be corrected
      Silence debug
      Correct return status when trackers are created
      Silence some Coverity warnings
      Add a little protection against failed spawn requests
      Update "check_vendor" for PGI problem
      Add configury to support REST interface interactions
      Realign behavior of PMIx_Get and PMIx_Get_nb
      Avoid an unnecessary malloc in a critical path
      Remove a potential race condition
      Properly handle forwarded output when no handler registered
      Correctly transfer default param and hostfile files
      Protect against NULL home directory
      Remove MIPS atomics
      Remove stale s390 atomics
      Update atomics
      Cleanup nit
      Fix fork/exec and provide better tool support
      Update ignores
      Fix race condition between pfexec and iof
      Flag a local proc as being "local"
      Pass back the tool's ID
      Set theme jekyll-theme-tactile
      Ensure that launchers open all required frameworks
      Check for active event before deleting
      Fix IOF race condition
      Do not transfer settings to fork/exec'd child
      Another approach to resolve fast/slow get path
      Handle the v3.1.5 special case
      Add attributes to support tool-requested timeout
      Turn off useless error log
      Ensure cleanup of fork/exec children
      Pass additional required values
      Pass additional required values
      Add support for missing include
      Silence unnecessary error logs
      Ensure cleanup of rendezvous files
      Little more cleanup on rndz file cleanup
      Silence Coverity warning
      Silence some warnings and update an attribute's value
      Protect job control from NULL results param
      Fix a race condition during finalize
      Take a shot at fixing the prun-prte connection creation
      Make PC_REQUIRES track actual configure results
      Shift libev to PC_PRIVATE_LIBS and fix typo in setup_libev
      Check hostname aliases to ensure xfer of job-level info
      Silence Coverity warnings
      Minor coding cleanup
      Alert user to FQDN status
      Ensure notification upon connect and fix PMIx_Init return code
      Silence warnings about static mutex init
      Update embedded flags for extraction by OMPI
      Pass nspace/rank on fork/exec and cleanup notify
      Play it safe - export all functions/vars
      Assume our host/appnum if not given
      Update event notification for tool support
      Enhance harvesting of envars for OMPI/OSHMEM
      Flag that user-level params were forwarded
      Update rename template
      Export missing variables
      Add symbol-hiding.pl script
      Remove some symbols that are causing OMPI trouble
      Remove more symbols and fix a wrapper
      Silence unnecessary error msg in configure
      Silence errors coming out of libtool config check
      Revert "Silence errors coming out of libtool config check"
      Silence a few Coverity warnings
      configure: use -iquote for non-system include paths
      Add PMIX_NUMA_RANK attribute key
      Re-enable OPA support
      Add storage system support
      Silence Coverity warnings
      Update the Storage attributes
      Cleanup a bit and ensure ompi5 sets envars
      Silence Coverity warnings
      Correct return code from PMIx_Spawn
      Enable search for available servers
      Fix the pnet/opa component
      General scrub of attributes
      Don't return next_option when not found
      Little reorganization
      Add missing include to tarball
      Silence Coverity warning
      Fix uninitialized variable error
      Spruce up the dmodex fix
      Silence Coverity warning
      Ensure we collect all data needed for setup_fork
      Default the pstrg/lustre query to return not found
      Exclude pmix_config.h from tarball
      Protect against zero local procs
      Remove symbol hiding
      Correct the returned status from pnet/allocate
      Export some missing functions
      Fix typo
      Update the OPA transport key name
      Add two attributes
      Allow passing of PMIX_PREFIX to PMIx_tool_init
      Avoid adding external libs until done with configure
      Protect against user error
      Update lustre config logic
      Silence Coverity warning
      Add a new slingshot prototype component
      Correctly handle endpt simulation
      Pickup the OMPI system-default params
      Point to the correct file that wasn't found
      Only default to show load errors if --enable-debug given
      Don't require pandoc on developer builds
      Silence Coverity warnings
      Minor cleanups - typo plus a missing part of a prior commit
      Add manpage build decision to config summary and pmix_info
      Fix a bug in client/get and in pnet/simptest
      Fix Python binding compilation
      Fix libev configury
      Begin implementation of Slingshot plugin
      Setup a new RM framework
      Check for libjansson version > 2.11
      Update NEWS from v2.2.4 release
      Initialize pinstall info
      Split the pquery qualifiers by semi-colon
      Update fabric support to track v4 Standard
      Ensure the PMIx server knows the local topology
      Update the Python bindings to track standard
      Cleanup a few error codes and silence coverity warns
      Fix trivial spelling error
      Pass back the tool name in connect_to_server
      Fix registration of custom range
      Cache the server ID for later retrieval
      Add VFS storage component
      Few cleanups in tool reconnect
      Cleanup a couple of minor issues
      Allow retrieval of the caller's own rank
      Updates to track Standard
      Remove stale man page references and cleanup the pmixcc wrapper compiler
      Add missing error code strings
      Fix typo in pmix.pc.in
      Up the timeout as some tests are running on the edge
      Fix cross-version for v3.1.6+
      Update headers to include new APIs and datatypes
      Move deprecated APIs, constants, and attributes to separate header
      Implement the new tools APIs
      Sync to v4 Standard
      Continue work on REST support
      Add missing attributes, remove stale APIs
      Remove unneeded plugin
      Update dictionary creation code and its output
      Auto-construct the dictionary whenever "make install"
      Catch some remaining missing attributes and constants
      Add missing support for PMIX_TOPO data type
      Debug and cleanup the ploc/hwloc component
      Add missing file to tarball
      Initial implementation of the fabric support
      Complete support for compute_distance API
      Cleanup handling of new data types
      Add some debug for PRRTE - to be removed later
      Remove debug, add configure check for topo_dup
      Cleanup topology support a bit
      Silence some Coverity warnings
      Remove PMI-1/2 backward compatibility hooks
      Minor adjustments to match Standard
      Remove non-standard attribute
      Change --with-platform option to --with-pmix-platform
      Update compute_distances APIs
      Fix "immediate" flag behavior at the server
      Update the rpm spec to remove all references to PMI-1 and PMI-2 libs
      Continue work on updating to v4 Standard
      Cleanup of Python bindings
      Ensure the peer objects are always initialized
      Update realm checks and fix pmix_get for v4
      Add new attributes and macro to track Standard
      Complete slingshot scaffold
      Remove cruft component and block build of tests
      Fix memory corruption
      Locally cache VNI and traffic class
      Protect against early versions of hwloc  (#1895)
      Fix some OMPI integration issues
      Check for spaces in prefix, srcdir, and builddir (#1897)
      Silence Coverity and extend keyval buffer
      Support reproducible builds
      Fix hostname flag for reproducible builds
      Add new test code
      Cast a void*
      Per telecon, add to compress preg metadata
      Protect against stone age HWLOC version
      Touchup keyval buffer extension
      Fix the direct-launch debugger example
      Silence Coverity warnings
      Move construction of dictionary to "make all"
      Protect against bad characters
      Reset build of dictionary
      Remove stale file and minor touchups
      Add error message
      Eliminate the stale usock component
      Plug a memory leak and optimize a bit
      Silence usock component warning message
      Update pmix_common.h to track v4 Standard
      Update tool header and new APIs
      Correctly handle the do-not-connect case
      Ensure the tool sets it ptl component
      Update the pfexec framework
      Protect server against some errors
      Fix check to disable pandoc requirement
      Refactor the PTL framework
      Clean up PTL refactoring
      Patch libtool for Mac BigSur OS
      Silence Coverity warnings
      Fix pmix_get_version
      Further restrict package requirements
      Update to utilize new tools functions
      Update server to track tool changes
      Silence Coverity warnings and update NEWS/README
      Add more debug to error message
      Silence Coverity warning
      Work on fixing Python binding for spawn
      Sync with v4 Standard
      Fix Python "spawn" command and remove debug prints
      Close the Cython-constructed files
      Fix thread conflict in event notification
      Protect the chain object thru event timeout
      Ensure all processing of event chain occurs in event
      Update info directives to track v4 Standard
      Fix typo in checking cached events
      Fix Python event notification
      Complete revision of Python bindings
      Let hash search for node/app info on specified proc
      Ensure Python progress thread doesn't return early
      Update the client get per v4.0 Standard
      Silence Coverity warning
      Remove unnecessary include
      Step 1: remove dstore
      Only test once for non-existent key to speedup the test
      Update NEWS to track v4.0 release
      Step 2: update client_get and hash component (#1985)
      Add support for realloc to memory allocator
      Support node-level info for older versions
      Remove incorrect special case
      Update headers
      Remove stale framework
      Refactor the gds/hash code for ease of editing
      Specify Python 3 for the configure check
      Disable IPv6 by default
      Silence warnings
      Add man pages for PMIx tools
      Silence a couple of Coverity warnings
      Cleanup indirect debugger launch against mpirun
      Silence unnecessary warning
      Restore the pnet/opa component
      Silence Coverity warning
      Touch of cleanup
      Silence Coverity warning
      Ensure the data array always gets initialized in PMIX_INFO_LIST_CONVERT
      Temporarily make the OPA envar OMPI-compliant
      Update pnet/opa component to current architecture
      Update the pnet/opa component to current architecture
      Silence Coverity warnings
      Add the psm2 auth_key to the job info and silence warning
      Cleanup the OFI detection m4
      Correct name of PSM2 envar
      Add a couple of useful macros
      Add the local reference ID to iof/pull request
      Silence Coverity warnings
      Shift the process/node stat support to PMIx
      Add missing PMIx_Data... functions
      Provide an envar version of the HWLOC shmem rndvz info
      Fix bugs in OFI configure and HWLOC component
      Correctly handle precedence for first/last overall events
      Refs https://github.com/open-mpi/ompi/issues/8410
      Update the new hybrid test a bit
      Revert "Fix various PGI warnings."
      Retain all the changes except those made to the atomics
      Cleanup the IOF register/dereg response code path
      Ensure the topology support matches the Standard
      Protect HWLOC_VERSION
      Extend data buffer support a little bit
      Missed a spot - check for HWLOC_VERSION defined
      Add datatype support for new types
      Fix stale definition for PMIX_HAVE_ATOMIC_LLSC_PTR
      Remove PMIX_BUFFER datatype and extend macro definition
      Protect against empty message
      Ensure proper handling of IOF pull requests
      Update NEWS to track release branches
      Cleanup several places based on testing with PRRTE
      Add compress/decompress APIs
      Fix signature of new compression APIs
      Use the provided caddy instead of creating a new one
      Correct miscast of object type
      Extend check for empty buffer
      Correctly pass the right object to dereg cbfunc
      Fix Python binding build
      Enable singleton "comm_spawn" operations
      Update to Autoconf 2.7x
      Use LT_PATH_NM instead of AC_PATH_PROG to find nm
      Minor configure cleanups
      Minor fix to libevent configury
      Avoid zero byte malloc in argv_join_range
      Properly handle stdin forwarding
      Update src/common/pmix_iof.c
      Add warning for zlib not found
      Add runtime warning that compression isn't active
      Do not compress unless over limit
      Add clang format support
      Eliminate shadow variables
      Slight touchups on event notification and name print
      Update clang format
      Add bfrops support for v401
      Allow servers to receive IOF
      Fix IOF dereg
      Fix fence timeout
      Remove stale variable
      Improve compression warning and fix "connect" timeout
      Minor simplification
      You have to at least spawn SOMETHING
      Spawn needs to do a little checking of the app
      Enable singletons to connect to system servers
      Update ptl_base_connect.c
      Setup clients to output forwarded IO
      Set the default for enable-mca-dso
      Reject ambiguous connection options
      Clang-format the code
      Some mods/cleanup of debugger definitions and handling
      Remove debug
      Fix some minor errors
      Add missing datatype support in darray macros
      Fix typo
      Update comments on debug attributes
      Remove stale envar settings in hwloc support
      Silence warning of unused var
      Minor addition to debug output
      Do not include curl and jansson support unless requested
      Bring the Slurm PRM module over from PRRTE
      Remove duplicative pmdl/ompi directories
      Add missing m4 file
      Update hwloc support to handle revised version string
      Register ompi5 and ompi4 as aliases for ompi plugin
      Roll master branch to v5
      Correct the PMIx_Get signature
      Silence some gcc warnings
      Silence some gcc11 warnings
      Protect against bad nspace input
      Cleanup few lingering gcc11 warnings
      Protect against duplicate envar harvesting
      Minor updates based on Standards review
      Silence warnings
      Protect register_nspace against new entries
      Add oversubscribed attribute
      Add a few job error constants
      Enable re-init of clients
      Add attribute to indicate copy/nocopy of output directed to files
      Add missing osname endpt elements to bfrops
      Optimize check for nodes
      Transfer stdout/err formatting to PMIx
      Ensure tool output of IOF
      Default tools to outputting their IOF
      Properly exit upon PMIx_Abort
      Some cleanups of the event notification and keepalive support
      Remove stale travis.yml file
      Revert "Properly exit upon PMIx_Abort"
      Update simptest to truly support PMIx_Abort
      Some cleanups for client finalize and IOF output
      Some cleanups for client finalize and IOF output
      Do not forward cached IOF to self
      Allow servers to use PMIx_Spawn
      Correct the PMIX_PREFIX envar name and minor wrapper cleanups
      Correct the PMIX_PREFIX envar name and minor wrapper cleanups
      Let tools request any job-level info available to them
      Self-generate as much info as the tool can do
      Avoid calling client_finalized on abnormal term
      Do not call client_finalized for tools, report lost tool connections
      Require a hardware topology library at configure
      Update Mellanox CI configuration
      Cleanup some IOF attributes
      Continue updates to support MPICH integration
      Update attribute support tables
      Sync NEWS from v4.1 release branch
      Cleanup the device distance computation
      Improve pnet component selection
      Add missing storage constants
      Add missing storage-related datatype support
      Correct vendor IDs and generalize check_vendor
      Remove ploc framework
      Add Intel GPU component
      Silence Coverity warnings
      Cleanup Coverity warning
      Check for libevent minimum 2.0.21
      Remove stale dstore references
      Add missing .m4 files to extra_dist
      Some cleanup of IOF output
      Update Mellanox CI
      Avoid blocking in the stdin read handler
      Minor fix in Mellanox CI
      Mark the read event as no longer active
      Restore the thread join in progress thread "stop"
      Ensure the server waits for all IOF and message events to complete
      Avoid use of MCA params for singleton and report-uri
      Don't treat inability to open shmem file as fatal
      autogen.pl: ignore all excluded components
      Ensure tools wait until all active events are processed
      Prefix the output files with "pmix"
      Cleanup compiler warnings for ancient hwloc versions
      Ensure we always copy the source field in pmix_topology_t
      Default to using our local_output flag
      Properly read/output stdout/err from a fork/exec'd child
      Add a Standard extension value to the compliance version
      Add exceptions file detailing where OpenPMIx differs from Standard
      Update storage attrs to track Standard
      Complete exceptions file
      Provide more info on exceptions
      Add prelim support for MPICH
      Add some spawn-specific timeout attributes
      Resolve race condition in lost condition
      Silence compile warnings
      Provide "partial_success" error when collectives not complete
      Don't require pandoc to "make tarball"
      Correctly copy stone age hwloc topologies
      Remove man page Markdown source
      Cleanup the test_v2 area
      Silence Coverity warnings
      Fix resource leak
      Try using TOCTOU instead of lower-case version
      Enable ultra-picky compiler options
      Ensure picky flags not set until after AC is done
      Get the simptest.h file into the tarball
      Expand the tm/pbs config to check for lib64
      Update portable platform file
      Add -Wno-deprecated-declarations
      Turn on -Werror for AC_CHECK_HEADERS (#2318)
      Check return code on system function
      Silence Flex warnings from show_help
      Don't check for Python 3.4+ if we aren't building the bindings
      Reduce some more unchecked status return complaints
      Fix another return status not checked complaint
      Enable support for address sanitizers, but only on request
      Fix an address issue in the pif/posix area
      Silence Coverity warning
      Fix new test code
      Update configure logic
      Missed one place
      Finish cleaning up the test tree
      build: Improve handling of compiler version string
      Finish squashing the examples complaints
      Remove duplicate defines of client build dependencies
      Ensure we terminate the input channel when done
      Ensure pmix library gets a chance to cleanly terminate children
      Add a little numa test program
      Fix typos - replace OMPI with PMIx
      Add the test/util subdir to the tarball
      Avoid ABI break in mid-series
      Silence Coverity concerns
      Define a static initializer for data_buffer_t
      Remove extra lines
      Make the backward-compatible ABI functions visible
      Allow operation if ONLY a loopback device is present
      Cleanup configure to correctly handle default paths
      Cleanup the configure logic
      Add an option to disable package checks
      Backup a bit to remove disable-package-checks
      Return NOT_FOUND instead of deprecated PROC_ENTRY_NOF_FOUND
      Remove stale qsort checks
      Ensure a param is always initialized
      Provide static initializers for all structures
      Stop in init if rndz URI given
      Update EXCEPTIONS file
      Extend NUMA utility
      Cleanup configuration logic
      Remove stale abstraction names for event and hwloc headers
      Ensure configure cmd line trumps environment
      Fix copy/paste typo
      Add a little debug info to a verbose output
      Correct copy/paste error - use correct procID
      Add NEWS for 4.1.1lz1
      Fix the network support components
      Fix a number of warnings and cleanup a few things
      Silence Coverity warning and cleanup code
      Fix devel-check of test_v2
      Add configure support for the pgpu and pnet components
      Final minor diddles of configure summary categories
      The PMIX_HAVE_LIBEV and PMIX_HAVE_LIBEVENT flags must always be defined
      Respect the nocopy qualifier
      Finish cleaning up nocopy behavior
      Silence Coverity warnings
      Enable buffered IOF output
      Always build pgpu/pnet components if PMIx supports them
      Remove stale configure check
      Add libtool tweak for Cygwin
      Fix the wrapper compiler txt file path
      Fix the client-get function
      Enable ability to bind PMIx progress thread
      Tweak the progress thread bind support
      Protect against HWLOC issues
      Update the hwloc version checking
      Sync NEWS with v4.1.1 release
      Remove unneeded atomics code
      Begin stripping configure of unnecessary checks
      Initialize the mutex when constructing…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants