forked from openpmix/openpmix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
1094 lines (993 loc) · 47.1 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Copyright (c) 2015-2020 Intel, Inc. All rights reserved.
Copyright (c) 2017-2020 IBM Corporation. All rights reserved.
Copyright (c) 2021-2022 Nanook Consulting. All rights reserved.
Copyright (c) 2021 Amazon.com, Inc. or its affiliates.
All Rights reserved.
$COPYRIGHT$
Additional copyrights may follow
$HEADER$
===========================================================================
This file contains the main features as well as overviews of specific
bug fixes (and other actions) for each version of PMIx since
version 1.0.
As more fully described in the "Software Version Number" section in
the README file, PMIx typically maintains two separate version
series simultaneously - the current release and one that is locked
to only bug fixes. Since these series are semi-independent of each
other, a single NEWS-worthy item might apply to different series. For
example, a bug might be fixed in the master, and then moved to
multiple release branches.
Master (not on release branches yet)
------------------------------------
4.1.1 -- 1 Feb 2022
----------------------
**** NOTE: As of v4.1.1, PMIx includes an EXCEPTIONS file that lists
**** all deviations from the PMIx Standard. This primarily includes
**** extensions that have not yet been adopted by the Standard.
**** NOTE: As of v4.1.1, PMIx no longer has a dependency on "pandoc"
**** for building and installing man pages.
**** NOTE: PMIx has identified a bug in HWLOC versions 2.5.0 thru
**** 2.7.0 (inclusive) that causes PMIx to segfault during certain
**** operations. We have worked with the HWLOC developers to fix
**** that problem, and the fix will be included beginning in HWLOC
**** version 2.7.1. Accordingly, PMIx now checks for the problem
**** HWLOC versions and will error out of configure if they are
**** encountered.
- PR #2445 and 2447: Update HWLOC version detection
- Reject versions 2.5.0-2.7.0, inclusive
- PR #2428: Update for rc6
- Enable buffered IOF output
- Cleanups and docs for rc6
- PR #2426: Updates from master
- Updates to cleanup conflicts and touchups
- Silence Coverity warnings
- Be more flexible in library handling
- Finish cleaning up nocopy behavior
- test_v2: use static declaration for client parser
- Respect the nocopy qualifier
- Add static library note to README
- PMIX_HAVE_LIBEV and PMIX_HAVE_LIBEVENT flags must always
be defined
- Fix two bugs in PMIX_FLAGS_APPEND_MOVE
- Fix a problem using PMIX_RANK
- Final minor diddles of configure summary categories
- Add configure support for pgpu/pnet components
- libevent: prefer compiler tests over linking tests
- Cleanup libevent/libev selection logic
- Remove pkg-config dependency list
- Add wrapper compiler mca link argument passing
- Reintroduce PMIX_DYN_LIB_SUFFIX define
- config: remove string checks in hwloc/libevent
- Fix devel-check of test_v2
- Silence Coverity warning and cleanup code
- Fix a number of warnings and cleanup a few things
- Select all adapters with IPv4 addresses with specified
subnet ranges
- Fix environmental variable name in help-pmix-runtime
- Remove curl/jansson default search assumption
- Remove cobuild remnants from configure
- V2 suite test case for multiple inits and finalizes
- PR #2410: Mark dependencies private in pkg-config file
- PR #2396: Fix the network support components
- PR #2394: Update for landing zone 1
- Update NEWS/Version
- PR #2393:
- Correct copy/paste error - use correct procID
- Add a little debug info to a verbose output
- PR #2389: delete use of PMIX_CHECK_BROKEN_QSORT refs
- PR #2384: Final update for v4.1.1 rc5
- Ensure a param is always initialized
- Provide static initializers for all structures
- Stop in init if rndz URI given
- Update EXCEPTIONS/NEWS files
- PR #2380: Update 4.1.1 rc5
- Improve handling of compiler version string
- Fix corner case on iof flags
- Squash unused variable warnings
- 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
- Make the backward-compatible ABI functions visible
- Avoid warning on void function return
- Allow operation if ONLY a loopback device is present
- PR #2332: Update 4.1.1 rc4
- Modify configure logic
- Add a missing helpfile (util) and few fixups
- Fix --output to ignore err on existing dirs
- Squash unused param warnings
- PR #2317: Update 4.1.1 rc3
- Add test_v2 to autoconf/automake processing
- Silence Coverity warnings
- Fix resource leak
- Change construct.py to mark PMIx functions with nogil
- Enable ultra-picky compiler options
- Ensure picky flags not set until after AC is done
- Add missing simptest.h file to tarball
- Expand the tm/pbs config to check for lib64
- Update portable platform file
- Abort configure if gcc is <= v4.8.1
- Enable support for address sanitizers, but only on request
- Fix issues raised by picky compiler checks
- Don't check for Python 3.4+ if not building the Python bindings
- Update VERSION and NEWS
- PR #2299: Update 4.1.1 rc2
- Update VERSION and NEWS
- Add some spawn-specific timeout attributes
- Resolve race condition in lost connection
- Provide "partial_success" error when collectives not complete
- Only conditionally decode the nspace return value when we
are sure the spawn was successful
- Correctly copy stone age hwloc topologies
- Remove man page Markdown source and build dependency on pandoc
- PR #2277: Update v4.1.1 release candidate
- Add missing m4 file
- Add a Standard extension value to the compliance version
- Properly read/output stdout/err from a fork/exec'd child
- Default to using our local_output flag
- Cleanup compiler warnings for ancient hwloc versions
- Prefix the output files with "pmix"
- Ensure tools wait until all active events are processed
- autogen.pl: ignore all excluded components
- Don't treat inability to open shmem file as fatal
- Avoid use of MCA params for singleton and report-uri
- Ensure the server waits for all IOF and message events to complete
- Restore the thread join in progress thread "stop"
- Mark the read event as no longer active
- Avoid blocking in the stdin read handler
- Some cleanup of IOF output
- Add missing .m4 files to extra_dist
- Check for libevent minimum 2.0.21
- Add Intel GPU component
- Correct vendor IDs and generalize check_vendor
- Add missing storage-related datatype support
- Add missing storage constants
- Improve pnet component selection
- Cleanup the device distance computation
- PR #2257: Check for libevent minimum 2.0.21
- PR #2253: 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
- PR #2250: Update attribute support tables
4.1.0 -- 29 July 2021
----------------------
**** NOTE: This release implements the complete PMIx v4.1 Standard
**** and therefore includes a number of new APIs and features. These
**** are fully documented in the official document. It also includes
**** some extensions that have not yet been included in that document.
Beyond the v4.1 modifications and additions to APIs, datatypes, attributes,
and macros, changes to the library include:
- PR #2251: More updates from master
- Replaced PMIx_Notify_Event with cbfunc call in errhandler to match
- Update attribute support tables
- PR #2248: Continue updates to support MPICH integration
- Extend IOF outputting format to cover Hydra options.
- PR #2246: Cleanup some IOF attributes
- PR #2235: Cherry-pick updates from master branch
- Default tools to outputting their IOF
- Initalize val before get in case get isn't successful
- Some cleanups of the event notification and keepalive support
- Remove stale travis.yml file
- Update simptest to truly support PMIx_Abort
- Some cleanups for client finalize and IOF output
- Do not forward cached IOF to self
- Update how C to Python bytes/strings are handled for get and byte objects
- 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
- General update of code base to track master branch
- PR #2224: common/dstore: Fix inconsistent Makefile.am
- PR #2216: Cherry-pick updates from master branch
- Add missing osname endpt elements to bfrops
- Optimize check for nodes
- Transfer stdout/err formatting to PMIx
- Ensure tool output of IOF
- PR #2208: Cherry-pick updates from master branch
- Enable re-init of clients
- Add attribute to indicate copy/nocopy of output directed to files
- PR #2204: Add a few job error constants
- PR #2201: Cherry-pick updates from master branch
- Minor updates based on Standards review
- Correct references to help-ptl-tool.txt
- Protect register_nspace against new entries
- Add oversubscribed attribute
- PR #2195: configury: Use AC_CHECK_ALIGNOF and fix cross-compiling
- PR #2190:Cherry-pick updates from master branch
- 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
- PR #2177: Cleanup shadow variables in dstore base and components
- PR #2156: Ensure we pass the desired scope on a PMIx_Get call
- PR #2170: Remove non-required items
- PR #2168: Cherry-pick updates from master branch
- Add missing datatype support in darray macros
- Update comments on debug attributes
- Remove stale envar settings in hwloc support
- Silence warning of unused var
- Minor addition to debug output
- PR #2158: atomics: Fix broken make dist
- PR #2154: Cherry-pick updates from master branch
- Spawn needs to do a little checking of the app
- build: Allow autogen.pl to be run from a tarball
- Enable singletons to connect to system servers
- Fix compile error in ptl_base_connect.c
- Update ptl_base_connect.c
- build: Change default build mode for components
- build: Remove options around mca direct calling
- Setup clients to output forwarded IO
- Set the default for enable-mca-dso
- Tool finalize crash due to ref count issue
- Reject ambiguous connection options
- ptl: prevent free of uninited suri variable
- Clang-format the code
- psec: include missing psec.h
- ptl: help on too-many-conns: mention conn handle files
- Some mods/cleanup of debugger definitions and handling
- build: Explicitly list libpmix dependencies
- build: Fix compiler attribute detection
- build: Fix compiler family detection
- atomics: Only support C11 and GCC builtin atomics
- Clean out unneeded test directory
- PR #2112: Add a bfrops 4.0.1 component
- PR #2111: Cherry-pick updates from master branch
- Add missing items
- Add missing PMIx_Data... functions
- Fix signature of new compression APIs
- Add compress/decompress APIs
- Update clang format
- Slight touchups on event notification and name print
- PR #2108: Cherry-pick updates from master branch
- leak: Free items in nslist for fence tracker
- Update src/common/pmix_iof.c
- Properly handle stdin forwarding
- Eliminate shadow variables
- leak: Fix case where buffer was unloaded, losing the pointer
- Leak: Always free ns->jobbkt in pmix_nspace_caddy_t destructor.
- Add clang format support
- PR #2105: Add zlib warning and compression checks
- PR #2100: Cherry-pick updates from master branch
- Correct listener - this is a PMIx v4 (not 4.1) server
- Purge shadowing as reported by gcc.
- Add -Wshadow to --picky-compiler
- Avoid zero byte malloc in argv_join_range
- Minor fix to libevent configury
- Minor configure cleanups
- Use LT_PATH_NM instead of AC_PATH_PROG to find nm
- Update to Autoconf 2.7x
- Enable singleton "comm_spawn" operations
- Link against libz when testing for TM
- Initialize myproc structure before calling PMIx_tool_set_server
- Py: Open files as UTF-8 while processing
- Fix Python binding build
- Correctly pass the right object to dereg cbfunc
- Extend check for empty buffer
- Correct miscast of object type
- Validate CFLAGS individually
- Use the provided caddy instead of creating a new one
- Silence -qinline xlc compiler warning
- Fix case where var->mbv_enumerator can be released when static
- Cleanup several places based on testing with PRRTE
- Ensure proper handling of IOF pull requests
- Protect against empty message
- Remove PMIX_BUFFER datatype and extend macro definition
- Fix stale definition for PMIX_HAVE_ATOMIC_LLSC_PTR
- Add datatype support for new types
- configury: fix _PMIX_CHECK_PACKAGE_LIB() macro
- Missed a spot - check for HWLOC_VERSION defined
- Protect HWLOC_VERSION
- Fix configury where most compilers will get mislabeled as 'gnu'
- Ensure the topology support matches the Standard
- Fix check for IBM xl compilers for v13.1 and later
- Cleanup the IOF register/dereg response code path
- Fix clang compliler regression
- Have developer builds use -O3 by default
- Silence PGI atomics warnings, while not breaking clang
- Update the new hybrid test a bit
- Fix build failure on Apple silicon
- Correctly handle precedence for first/last overall events
- Fix various PGI warnings
- Fix bugs in OFI configure and HWLOC component
- Add the local reference ID to iof/pull request
- Add a couple of useful macros
- Correct name of PSM2 envar
- configury: fix --with-ofi=DIR handling
- Add the psm2 auth_key to the job info and silence warning
- Update the pnet/opa component to current architecture
- Ensure the data array always gets initialized in PMIX_INFO_LIST_CONVERT
- Cleanup indirect debugger launch against mpirun
- PR #2014: Silence a couple of Coverity warnings
- PR #2013: Add the PMIx Standard version level to the version string
- PR #2012: Fix Python binding build for VPATH
- PR #2007: Disable IPv6 by default
- PR #2000: Set hostname in global to NULL on finalize
- PR #1998: Specify Python 3 for the configure check
4.0.0 -- 30 Dec 2020
----------------------
**** NOTE: This release implements the complete PMIx v4.0 Standard
**** and therefore includes a number of new APIs and features. These
**** are fully documented in the official document - the details of
**** the revisions included in v4.0 are summarized here:
**** https://pmix.github.io/uploads/2020/12/pmix-standard-4.0.pdf#page=549
**** Note that this version of OpenPMIx includes a first-cut at the
**** Python bindings described in Appendix A of the v4.0 Standard.
Beyond the v4.0 modifications and additions to APIs, datatypes, attributes,
and macros, changes to the library include:
- Removal of the usock messaging component - only TCP is now supported
- Removal of the PMI-1 and PMI-2 backward compatibility libraries into
a new separate repository
- Packaging changes to push the headers into *-devel packages
- libtool patch for Mac BigSur OS
- Fixed dependency issue with HWLOC to protect against stone-age versions
- Changed man page format to Markdown, requires pandoc to generate from
Git repository (but not from tarball)
- Enable local fork/exec by tools when not connected to a server - this
is done transparently
- Support reproducible builds
- Multiple bug fixes and memory leak repairs
- Add support for network interface and GPU device distances
- Allow retrieval of the caller's own rank and process ID via PMIx_Get
- Provide full delineation of client, server, and tool attribute support
- Add support for libev in lieu of libevent
- Detect/avoid conflict with LSF version of "libevent"
- Auto-detect and forward envars from various identified programming models
(e.g., OpenMPI, OpenSHMEM) and fabrics
- Change the default component build behavior to prefer building components
as part of libpmix.so instead of individual DSOs.
3.2.3 -- 12 Feb 2021
----------------------
- PR #1967: Fix thread conflict in event notification
- PR #2001: Finalize: set hostname in global to NULL to avoid segfault
in apps that call init/finalize multiple times
- PR #2045: Have developer builds use -O3 by default
3.2.2 -- 7 Dec 2020
----------------------
- PR #1930: Remove man page setup as there are no manpages in v3.2
- PR #1933: Remove stale config command
- PR #1940: Fix dependency issue with hwloc
- PR #1941: .spec: add *-devel packages
3.2.1 -- 12 Nov 2020
----------------------
- PR #1890:
- Fix Issue #1889: Fix symlinks in unit tests to include new timeout
- Fix Issue #1891: Remove pnet/opa component that should not be in v3.2
- PR #1904: Add more metadata to string generated from preg/compress
- PR #1919: Fix memory leak in PMIx_Get/fastpath
3.2.0 -- 22 Oct 2020
----------------------
- PR #1402/#1403/#1421/#1423: Modex size reductions
- PR #1752: Convert man pages to Markdown (pandoc)
- PR #1766: Move from -levent to -levent_core for linking Libevent
- PR #1832: Sync 3.2 branch with master
- New attributes:
- PMIX_HOSTNAME_ALIASES
- PMIX_HOSTNAME_KEEP_FQDN
- PMIX_GET_REFRESH_CACHE
- PMIX_REQUIRED_KEY
- Removed PMIX_VALUE_COMPRESSED_STRING_UNPACK macro from pmix_common.h
- New frameworks
- PR #1139: pcompress - Compression methods
- PR #1423: psquash - Flexible integer packing
- New components
- PR #1139: preg/compress - regular expression methods
- PR #1422 Modified string representations produced by PMIx_generate_regex
and PMIx_generate_ppn.
- Issue #1586: Fixed dmodex support and PMIx_Get behavior
- PR #1748: Removed --with-pmix-symbol-rename configure option
- PR #1848: Expose PMIX_REGEX constant per v3.2 standard
- PR #1885: Fix immediate flag behavior at the server
3.1.6 -- 04 Jan 2021
----------------------
- PR #1669: Silence unnecessary error log message
- PR #1776: Fixed crash of dstore locks destructor
- PR #1825: Add option to bypass local-only fence optimization
- PR #1830: Increase timeout in test case
- PR #1990: Fix server/get for gds=hash
3.1.5 -- 14 Feb 2020
----------------------
NOTE: The signature of the PMIx_Allocation_request has changed
in accordance with an Errata update of the PMIx v3 Standard
- PR #1413/#1465: Remove unnecessary error log
- PR #1433: Return the correct status from PMIx_Publish
- PR #1445: Sync. with master to fix 'get' of data for unknown namespace
Includes the following PRs from master
- PR #1382: dstore: fixed truncate key-names while restoring
- PR #1405: Fix xnspace dmodex and add verbose debug
- PR #1406: Resolve request for job-level data
- PR #1407/#1409/#1411: Fix dmodex across nspaces
- PR #1434/#1436: Cleanup handling of info arrays
- PR #1435: Cleanup example and remove debug
- PR #1437: Update blocking Allocation_request signature
- PR #1440: Fix 'get' of data for unknown namespace
- PR #1442: Fix fences with namespaces where no local processes are running
- PR #1472: Initialize nlocal and local in the tracker
- PR #1487: Sync. with master to fix info array and cross-version issues
- PR #1493/#1497/#1501/#1505/#1589: Info array and Cross-version fixes
- PR #1511/#1517/#1520/#1523/#1534/#1565: Fix pmix tests
- PR #1530: Improve handling of servers piror to v3.1.5
- PR #1531: Update transfer from hash to dstore
- PR #1538: Fix singleton initialization
- PR #1547: Add missing PMIx_IOF_deregister function
- PR #1554/#1591: Fix memory leak on namespace deregister
- PR #1561: Configury fix for reproducible builds
- PR #1579: Protect pthread setpshared calls
- PR #1587: Fix to gds/dstore configure logic
- PR #1610: Adjust hotel timeout to be in whole seconds
- PR #1613: dstore: Fix cache size calculation
- PR #1622: Fix multiple occurrences of unaligned access in pmix tests
- PR #1620: Re-address the collective tracker problem
3.1.4 -- 9 Aug 2019
----------------------
- PR #1342: Fix if_linux_ipv6_open interface filter
- PR #1344: Remove unnecessary libtool init for c++
- PR #1346: Fix incorrect pointer casts/deref
- PR #1347/#1348: Fix use of gethostname
- PR #1353/#1357: util/environ: use setenv() if available
- PR #1354: Plug a misc memory leak in the pmix_query_caddy_t destructor
- PR #1356: Fix another pointer cast/deref in test suite
- PR #1358: Implement support for class-based info arrays
- PR #1359: Plug misc minor memory leaks
- PR #1368: Backport support for libev
- PR #1369: Fix legacy support for PMI-1
- PR #1370: Cleanup handling of data requests for different nspaces
- PR #1193: Resolve get of proc-specific job-level info from another nspace
- PR #1376: Fix problems in the Log code path, updates to simple test suite
- PR #1377: Skip fastpath/dstore for NULL keys
- PR #1379: Change IF_NAMESIZE to PMIX_IF_NAMESIZE and set to safe size
- PR #1385: Check for EINVAL return from posix_fallocate
- PR #1389: Plug misc memory leaks in configure
3.1.3 -- 2 July 2019
----------------------
- PR #1096: Restore PMIX_NUM_SLOTS for backward compatibility
- PR #1106: Automatically generate PMIX_NUMERIC_VERSION
- PR #1143: Fix tool connection handshake for tools that are registered
clients
- PR #1163: Fix a compiler warning in atomics on POWER arch
- PR #1162: Fix race condition when clients fail while in a PMIx
collective operation
- PR #1166: Fix a regression in spinlock atomics
- PR #1159: Fix missing pointer update when shared memory segment
was re-attached
- PR #1180: Remove dependency on C++ compiler for thread detection
- PR #1180: Add detection for Flex when building in non-tarball situations
- PR #1165: Add dependency on libevent-devel to rpm spec file
- PR #1188: Link libpmix.so to MCA component libraries
- PR #1194: Ensure any cached notifications arrive after registration completes
- PR #1205: Add "make check" support
- PR #1209: Update configure logic for clock_gettime
- PR #1213/#1217/#1221: Add configure option "--enable-nonglobal-dlopen"
If the MCA component libraries should link back to libpmix.so
- PR #1231: SPEC: Allow splitting PMIx in pmix and pmix-libpmi packages
- PR #1222: Fix case of multiple launcher calls in job script
- PR #1237: Avoid double-free of collective tracker
- PR #1237: Ensure all participants are notified of fence complete
- PR #1237: Ensure all participants are notified of connect and disconnect complete
- PR #1250: Fix PMIx_server_finalize hang (rare)
- PR #1271: PTL/usock doesn't support tools
- PR #1280: Fix the PTL connection establishment protocol
- PR #1280: Fix tool connection in psec/handshake mode
- PR #1289: Avoid output_verbose overhead when it won't print
- PR #1296: Allow setup_fork to proceed even if gdds and pnet don't contribute
- PR #1296: Allow servers to pass NULL module
- PR #1297: Provide internal blocking ability to the register/deregister fns
- PR #1298: Add dummy handshake component to psec framework for testing
- PR #1303: Allow jobs to not specify proc-level info
- PR #1304: Provide proc data in cases where host does not
- PR #1305: Add some more values that can be computed
- PR #1308: Add missing tool rendezvous file
- PR #1309: Fix potential integer overflow in regex
- PR #1311: Work around memory bug in older gcc compilers
- PR #1321: Provide memory op hooks in user-facing macros
- PR #1329: Add -fPIC to static builds
- PR #1340: Do not use '==' in m4 test statements
3.1.2 -- 24 Jan 2019
----------------------
- Fix a bug in macro identifying system events
- Restore some non-standard macros to the pmix_extend.h
header - these are considered "deprecated" and will be
removed from public-facing headers in future releases
3.1.1 -- 18 Jan 2019
----------------------
- Fix a bug in registration of default event handlers
that somehow slipped thru testing
3.1.0 -- 17 Jan 2019
----------------------
**** THIS RELEASE MARKS THE STARTING POINT FOR FULL COMPLIANCE
**** WITH THE PMIX v3 STANDARD. ALL API BEHAVIORS AND ATTRIBUTE
**** DEFINITIONS MEET THE v3 STANDARD SPECIFICATIONS.
- Add a new, faster dstore GDS component 'ds21'
- Performance optimizations for the dstore GDS components.
- Plug miscellaneous memory leaks
- Silence an unnecessary warning message when checking connection
to a non-supporting server
- Ensure lost-connection events get delivered to default event
handlers
- Correctly handle cache refresh for queries
- Protect against race conditions between host and internal library
when dealing with async requests
- Cleanup tool operations and add support for connections to
remote servers. Initial support for debugger direct/indirect
launch verified with PRRTE. Cleanup setting of tmpdir options.
Drop rendezvous files when acting as a launcher
- Automatically store the server URI for easy access by client
- Provide MCA parameter to control TCP connect retry/timeout
- Update event notification system to properly evict oldest events
when more space is needed
- Fix a number of error paths
- Update IOF cache code to properly drop oldest message. Provide
MCA parameter for setting cache size.
- Handle setsockopt(SO_RCVTIMEO) not being supported
- Ensure that epilogs get run even when connections unexpectedly
terminate. Properly split epilog strings to process multiple
paths
- Pass the tool's command line to the server so it can be returned
in queries
- Add support for C11 atomics
- Support collection and forwarding of fabric-specific envars
- Improve handling of hwloc configure option
- Fix PMIx_server_generate_regex to preserve node ordering
- Fix a bug when registering default event handlers
3.1.0 -- 17 Jan 2019
----------------------
**** THIS RELEASE MARKS THE STARTING POINT FOR FULL COMPLIANCE
**** WITH THE PMIX v3 STANDARD. ALL API BEHAVIORS AND ATTRIBUTE
**** DEFINITIONS MEET THE v3 STANDARD SPECIFICATIONS.
- Add a new, faster dstore GDS component 'ds21'
- Performance optimizations for the dstore GDS components.
- Plug miscellaneous memory leaks
- Silence an unnecessary warning message when checking connection
to a non-supporting server
- Ensure lost-connection events get delivered to default event
handlers
- Correctly handle cache refresh for queries
- Protect against race conditions between host and internal library
when dealing with async requests
- Cleanup tool operations and add support for connections to
remote servers. Initial support for debugger direct/indirect
launch verified with PRRTE. Cleanup setting of tmpdir options.
Drop rendezvous files when acting as a launcher
- Automatically store the server URI for easy access by client
- Provide MCA parameter to control TCP connect retry/timeout
- Update event notification system to properly evict oldest events
when more space is needed
- Fix a number of error paths
- Update IOF cache code to properly drop oldest message. Provide
MCA parameter for setting cache size.
- Handle setsockopt(SO_RCVTIMEO) not being supported
- Ensure that epilogs get run even when connections unexpectedly
terminate. Properly split epilog strings to process multiple
paths
- Pass the tool's command line to the server so it can be returned
in queries
- Add support for C11 atomics
- Support collection and forwarding of fabric-specific envars
- Improve handling of hwloc configure option
- Fix PMIx_server_generate_regex to preserve node ordering
- Fix a bug when registering default event handlers
3.0.2 -- 18 Sept 2018
----------------------
- Ensure we cleanup any active sensors when a peer departs. Allow the
heartbeat monitor to "reset" if a process stops beating and subsequently
returns
- Fix a few bugs in the event notification system and provide some
missing implementation (support for specifying target procs to
receive the event).
- Add PMIX_PROC_TERMINATED constant
- Properly deal with EOPNOTSUPP from getsockopt() on ARM
3.0.1 -- 23 Aug 2018
----------------------
**** DEPRECATION WARNING: The pmix_info_array_t struct was
**** initially marked for deprecation in the v2.x series.
**** We failed to provide clear warning at that time. This
**** therefore serves as warning of intended removal of
**** pmix_info_array_t in the future v4 release series.
- Fixed memory corruption bug in event notification
system due to uninitialized variable
- Add numeric version field to pmix_version.h
- Transfer all cached data to client dstore upon first connect
- Implement missing job control and sensor APIs
3.0.0 -- 6 July 2018
------------------------------------
**** NOTE: This release implements the complete PMIX v3.0 Standard
**** and therefore includes a number of new APIs and features. These
**** can be tracked by their RFC's on the community website:
**** https://pmix.org/pmix-standard.
- Added blocking forms of several existing APIs:
- PMIx_Log
- PMIx_Allocation_request
- PMIx_Job_control
- PMIx_Process_monitor
- Added support for getting/validating security credentials
- PMIx_Get_credential, PMIx_Validate_credential
- Extended support for debuggers/tools
- Added IO forwarding support allowing tools to request
forwarding of output from specific application procs,
and to forward their input to specified target procs
- Extended tool attributes to support synchronization
during startup of applications. This includes the
ability to modify an application's environment
(including support for LD_PRELOAD) and define an
alternate fork/exec agent
- Added ability for a tool to switch server connections
so it can first connect to a system-level server to
launch a starter program, and then reconnect to that
starter for debugging purposes
- Extended network support to collect network inventory by
either rolling it up from individual nodes or by direct
query of fabric managers. Added an API by which the
host can inject any rolled up inventory into the local
PMIx server. Applications and/or the host RM can access
the inventory via the PMIx_Query function.
- Added the ability for applications and/or tools to register
files and directories for cleanup upon their termination
- Added support for inter-library coordination within a process
- Extended PMIx_Log support by adding plugin support for new
channels, including local/remote syslog and email. Added
attributes to query available channels and to tag and
format output.
- Fix several memory and file descriptor leaks
2.2.5 -- 04 Jan 2021
----------------------
- PR #1990: Fix server/get for gds=hash
2.2.4 -- 07 Jun 2020
----------------------
- PR #1466: Silence spurious error log
- PR #1489: Allow specification of hostname to use by client
- PR #1499/#1512/#1518/#1525/#1528/#1533/#1553: Fix internal tests
- PR #1678: Update "check_vendor" for PGI problem
- PR #1734: Fix resource leaks in ptl/usock component
- PR #1777: Fix crash of dstor locks destructor in ds12
- PR #1788: Remove unnecessary error logs
2.2.3 -- 15 Aug 2019
----------------------
- PR #1162: Fix race condition when clients fail while in a PMIx
collective operation
- PR #1163: Fix a compiler warning in atomics on POWER arch
- PR #1165: Add BuildRequires: libevent-devel to spec file
- PR #1180: Remove dependency on C++ compiler for thread detection
- PR #1180: Add detection for Flex when building in non-tarball situations
- PR #1182: configury: use PMIX_ENABLE_DLOPEN_SUPPORT instead of enable_dlopen
- PR #1188: Link libpmix.so to MCA component libraries
- PR #1190: Ensure any cached notifications arrive after reg completes
- PR #1194: Ensure any cached notifications arrive after registration completes
- PR #1209: Update configure logic for clock_gettime
- PR #1213/#1217/#1221: Add configure option "--enable-nonglobal-dlopen"
If the MCA component libraries should link back to libpmix.so
- PR #1231: SPEC: Allow splitting PMIx in pmix and pmix-libpmi packages
- PR #1253: Preserve user-provided CFLAGS to protect autotools
- PR #1267: Correct dmodex example
- PR #1275: IPv6 IF Read: Buffer Overflow
- PR #1295: Fix comment: IPv6 IF_NAMESIZE
- PR #1296: Allow setup_fork to proceed even if gdds and pnet don't contribute
- PR #1296: Allow servers to pass NULL module
- PR #1297: Provide internal blocking ability to the register/deregister fns
- PR #1298: Add dummy handshake component to psec framework for testing
- PR #1303: Allow jobs to not specify proc-level info
- PR #1304: Provide proc data in cases where host does not
- PR #1305: Add some more values that can be computed
- PR #1308: Add missing tool rendezvous file
- PR #1309: Fix potential integer overflow in regex
- PR #1311: Work around memory bug in older gcc compilers
- PR #1329: Add -fPIC to static builds
- PR #1334: Cache only -W CFLAG entries to fix 32-bit builds
- PR #1341: Do not use '==' in m4 test statements
- PR #1342: Fix if_linux_ipv6_open interface filter
- PR #1344: Remove unnecessary libtool init for c++
- PR #1346: Fix incorrect pointer casts/deref
- PR #1347/#1348: Fix use of gethostname
- PR #1353/#1357: util/environ: use setenv() if available
- PR #1354: Plug a misc memory leak in the pmix_query_caddy_t destructor
- PR #1356: Fix another pointer cast/deref in test suite
- PR #1358: Implement support for class-based info arrays
- PR #1359: Plug misc minor memory leaks
- PR #1369: Fix legacy support for PMI-1
- PR #1370: Cleanup handling of data requests for different nspaces
- PR #1193: Resolve get of proc-specific job-level info from another nspace
- PR #1377: Skip fastpath/dstore for NULL keys
- PR #1379: Change IF_NAMESIZE to PMIX_IF_NAMESIZE and set to safe size
- PR #1385: Check for EINVAL return from posix_fallocate
- PR #1389: Plug misc memory leaks in configure
2.2.2 -- 24 Jan 2019
----------------------
- Fix a bug in macro identifying system events
2.2.1 -- 18 Jan 2019
----------------------
- Fix a bug in registration of default event handlers
that somehow slipped thru testing
2.2.0 -- 17 Jan 2019
----------------------
**** THIS RELEASE MARKS THE STARTING POINT FOR FULL COMPLIANCE
**** WITH THE PMIX v2.2 STANDARD. ALL API BEHAVIORS AND ATTRIBUTE
**** DEFINITIONS MEET THE v2.2 STANDARD SPECIFICATIONS.
- Add a new, faster dstore GDS component 'ds21'
- Performance optimizations for the dstore GDS components.
- Plug miscellaneous memory leaks
- Silence an unnecessary warning message when checking connection
to a non-supporting server
- Ensure lost-connection events get delivered to default event
handlers
- Correctly handle cache refresh for queries
- Protect against race conditions between host and internal library
when dealing with async requests
- Cleanup tool operations and add support for connections to
remote servers.
- Automatically store the server URI for easy access by client
- Provide MCA parameter to control TCP connect retry/timeout
- Update event notification system to properly evict oldest events
when more space is needed
- Fix a number of error paths
- Handle setsockopt(SO_RCVTIMEO) not being supported
- Pass the tool's command line to the server so it can be returned
in queries
- Add support for C11 atomics
- Fix a bug when registering default event handlers
2.1.4 -- 18 Sep 2018
----------------------
- Updated configury to silence warnings on older compilers
- Implement job control and sensor APIs
- Update sensor support
- Fix a few bugs in the event notification system and provide some
missing implementation (support for specifying target procs to
receive the event).
- Add PMIX_PROC_TERMINATED constant
- Properly deal with EOPNOTSUPP from getsockopt() on ARM
2.1.3 -- 23 Aug 2018
----------------------
- Fixed memory corruption bug in event notification
system due to uninitialized variable
- Add numeric version definition
- Transfer all cached data to client dstore upon first connect
2.1.2 -- 6 July 2018
----------------------
- Added PMIX_VERSION_RELEASE string to pmix_version.h
- Added PMIX_SPAWNED and PMIX_PARENT_ID keys to all procs
started via PMIx_Spawn
- Fixed faulty compares in PMI/PMI2 tests
- Fixed bug in direct modex for data on remote node
- Correctly transfer all cached job info to the client's
shared memory region upon first connection
- Fix potential deadlock in PMIx_server_init in an error case
- Fix uninitialized variable
- Fix several memory and file descriptor leaks
2.1.1 -- 23 Feb 2018
----------------------
- Fix direct modex when receiving new nspace
- Resolve direct modex of job-level info
- Fix a bug in attribute configuration checks
- Fix a couple of bugs in unpacking of direct modex job-level data
- Correcly handle application setup data during "instant on" launch
- add a PMIX_BYTE_OBJECT_LOAD convenience macro
- Fix two early "free" bugs
- Add an example PMI-1 client program
2.1.0 -- 1 Feb 2018
----------------------
**** NOTE: This release contains the first implementation of cross-version
**** support. Servers using v2.1.0 are capable of supporting clients using
**** PMIx versions v1.2 and above. Clients using v2.1.0 are able to interact
**** with servers based on v1.2 and above.
- Added cross-version communication support
- Enable reporting of contact URI to stdout, stderr, or file (PR #538)
- Enable support for remote tool connections (PR #540, #542)
- Cleanup libevent configure logi to support default install paths (PR #541)
- Debounce "unreachable" notifications for tools when they disconnect (PR #544)
- Enable the regex generator to support node names that include multiple
sets of numbers
2.0.3 -- 1 Feb 2018
----------------------
- Fix event notification so all sides of multi-library get notified
of other library's existence
- Update syslog protection to support Mac High Sierra OS
- Remove usock component - unable to support v1.x clients due
to datatype differences
- Cleanup security handshake
- Cleanup separation of PMI-1/2 libraries and PMIx symbols
- Protect against overly-large messages
- Update data buffer APIs to support cross-version operations
- Protect receive callbacks from NULL and/or empty buffers as this
can occur when the peer on a connection disappears.
- Fix tool connection search so it properly descends into the directory
tree while searching for the server's contact file.
- Fix store_local so it doesn't reject a new nspace as that can happen
when working with tools
- Ensure we always complete PMIx_Finalize - don't return if something
goes wrong in the middle of the procedure
- Fix several tool connection issues
2.0.2 -- 19 Oct 2017
----------------------
- Update RPM spec file (rpmbuild -ta, and --rebuild fixes) (PR #523)
- Support singletons in PMI-1/PMI-2 (PR #537)
- Provide missing implementation support for arrays of pmix_value_t's (PR #531)
- Remove unsupported assembly code for MIPS and ARM processors
prior to v6 (PR #547)
- Fix path separator for PMIx configuration files (PR #547)
- Add configure option to enable/disable the default value for the
show-load-errors MCA param (PR #547)
2.0.1 -- 24 Aug. 2017
----------------------
- Protect PMIX_INFO_FREE macro from NULL data arrays
- Added attributes to support HWLOC shared memory regions
- Fixed several syntax errors in configure code
- Fixed several visibility errors
- Correctly return status from PMIx_Fence operation
- Restore tool connection support and implement search
operations to discover rendezvous files
2.0.0 -- 22 Jun 2017
----------------------
**** NOTE: This release implements the complete PMIX v2.0 Standard
**** and therefore includes a number of new APIs and features. These
**** can be tracked by their RFC's in the RFC repository at:
**** https://github.com/pmix/RFCs. A formal standards document will
**** be included in a later v2.x release. Some of the changes are
**** identified below.
- Added the Modular Component Architecture (MCA) plugin manager and
converted a number of operations to plugins, thereby allowing easy
customization and extension (including proprietary offerings)
- Added support for TCP sockets instead of Unix domain sockets for
client-server communications
- Added support for on-the-fly Allocation requests, including requests
for additional resources, extension of time for currently allocated
resources, and return of identified allocated resources to the scheduler
(RFC 0005 - https://github.com/pmix/RFCs/blob/master/RFC0005.md)
- Tightened rules on the processing of PMIx_Get requests, including
reservation of the "pmix" prefix for attribute keys and specifying
behaviors associated with the PMIX_RANK_WILDCARD value
(RFC 0009 - https://github.com/pmix/RFCs/blob/master/RFC0009.md)
- Extended support for tool interactions with a PMIx server aimed at
meeting the needs of debuggers and other tools. Includes support
for rendezvousing with a system-level PMIx server for interacting
with the system management stack (SMS) outside of an allocated
session, and adds two new APIs:
- PMIx_Query: request general information such as the process
table for a specified job, and available SMS capabilities
- PMIx_Log: log messages (e.g., application progress) to a
system-hosted persistent store
(RFC 0010 - https://github.com/pmix/RFCs/blob/master/RFC0010.md)
- Added support for fabric/network interactions associated with
"instant on" application startup
(RFC 0012 - https://github.com/pmix/RFCs/blob/master/RFC0012.md)
- Added an attribute to support getting the time remaining in an
allocation via the PMIx_Query interface
(RFC 0013 - https://github.com/pmix/RFCs/blob/master/RFC0013.md)
- Added interfaces to support job control and monitoring requests,
including heartbeat and file monitors to detect stalled applications.
Job control interface supports standard signal-related operations
(pause, kill, resume, etc.) as well as checkpoint/restart requests.
The interface can also be used by an application to indicate it is
willing to be pre-empted, with the host RM providing an event
notification when the preemption is desired.
(RFC 0015 - https://github.com/pmix/RFCs/blob/master/RFC0015.md)
- Extended the event notification system to support notifications
across threads in the same process, and the ability to direct
ordering of notifications when registering event handlers.
(RFC 0018 - https://github.com/pmix/RFCs/blob/master/RFC0018.md)
- Expose the buffer manipulation functions via a new set of APIs
to support heterogeneous data transfers within the host RM
environment
(RFC 0020 - https://github.com/pmix/RFCs/blob/master/RFC0020.md)
- Fix a number of race condition issues that arose at scale
- Enable PMIx servers to generate notifications to the host RM
and to themselves
1.2.5 -- TBD
----------------------
- Fix cross-version issue when v1.2 client interacts with v2.1 server (PR #564)
- Update client connection for cross-version support (PR #591)
- Fix write memory barrier ASM for PowerPC (PR #606)
- Add protection from overly-large messages
1.2.4 -- 13 Oct. 2017
----------------------
- Silence some unnecessary warning messages (PR #487)
- Coverity fix - TOCTOU (PR #465)
- automake 1.13 configure fix (PR #486)
- Update RPM spec file (rpmbuild -ta, and --rebuild fixes) (PR #523)
- Support singletons in PMI-1/PMI-2 (PR #537)
1.2.3 -- 24 Aug. 2017
----------------------
- Resolve visibility issues for public APIs (PR #451)
- Atomics update - remove custom ASM atomics (PR #458)
- Fix job-fence test (PR #423)
- Replace stale PMIX_DECLSPEC with PMIX_EXPORT (PR #448)
- Memory barrier fixes for thread shifting (PR #387)
- Fix race condition in dmodex (PR #346)
- Allow disable backward compatability for PMI-1/2 (PR #350)
- Fix segv in PMIx_server_deregister_nspace (PR #343)
- Fix possible hang in PMIx_Abort (PR #339)
1.2.2 -- 21 March 2017
----------------------
- Compiler fix for Sun/Oracle CC (PR #322)
- Fix missing include (PR #326)
- Improve error checking around posix_fallocate (PR #329)
- Fix possible memory corruption (PR #331)