Skip to content

Commit e2c7224

Browse files
authored
Merge pull request #6356 from rhc54/topic/pmixup
Update to latest PRI master
2 parents 89fa061 + baef253 commit e2c7224

32 files changed

+720
-290
lines changed

opal/mca/pmix/pmix4x/pmix/HACKING

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
88
University of Stuttgart. All rights reserved.
99
Copyright (c) 2004-2005 The Regents of the University of California.
1010
All rights reserved.
11-
Copyright (c) 2008-2018 Cisco Systems, Inc. All rights reserved
12-
Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
11+
Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
12+
Copyright (c) 2013-2019 Intel, Inc. All rights reserved.
1313
$COPYRIGHT$
1414

1515
Additional copyrights may follow
@@ -38,13 +38,21 @@ By definition, debugging builds will perform [much] slower than
3838
optimized builds of PMIx. You should *NOT* conduct timing tests
3939
or try to run production performance numbers with debugging builds.
4040

41+
NOTE: this version of PMIx requires the Libevent package to build
42+
and operate. Any version of Libevent greater than or equal to
43+
2.0.21 is acceptable. It optionally supports the HWLOC package
44+
for providing topology information to both the host environment
45+
(by collecting local inventory for rollup) and local client
46+
processes. Any version of HWLOC greater than 1.10 is supported,
47+
although versions in the 2.x series are recommended.
48+
4149
If you wish to build an optimized version of PMIx from a
4250
developer's checkout, you have three main options:
4351

4452
1. Use the "--with-platform=optimized" switch to configure. This is
4553
the preferred (and probably easiest) method. For example:
4654

47-
shell$ git clone git@github.com:pmix/master.git pmix
55+
shell$ git clone https://github.com/pmix/pmix.git pmix
4856
shell$ cd pmix
4957
shell$ ./autogen.pl
5058
shell$ mkdir build
@@ -57,7 +65,7 @@ developer's checkout, you have three main options:
5765
directory than the source tree -- one where the .git subdirectory
5866
is not present. For example:
5967

60-
shell$ git clone git@github.com:pmix/master.git pmix
68+
shell$ git clone https://github.com/pmix/pmix.git pmix
6169
shell$ cd pmix
6270
shell$ ./autogen.pl
6371
shell$ mkdir build
@@ -80,6 +88,15 @@ developer's checkout, you have three main options:
8088
shell$ make all install
8189

8290

91+
Note that in all cases you must point configure at the libevent
92+
installation using the --with-libevent=<dir> option if it is in
93+
a non-standard location. Similarly, non-standard locations for
94+
the HWLOC package must be specified using the --with-hwloc=<dir>
95+
option. In both cases, PMIx will automatically detect these
96+
packages in standard locations and build-in support for them
97+
unless otherwise specified using the respective configure option.
98+
99+
83100
Use of GNU Autoconf, Automake, and Libtool (and m4)
84101
===================================================
85102

@@ -96,7 +113,7 @@ required depend on if you are using the master or a release branch (and
96113
which release branch you are using). The specific versions can be
97114
found at:
98115

99-
https://pmix.github.io/pmix/faq/building
116+
https://pmix.org/code/getting-the-reference-implementation/
100117

101118
You can check what versions of the autotools you have installed with
102119
the following:
@@ -205,17 +222,17 @@ NOTE: On MacOS/X, the default "libtool" program is different than the
205222
m4, Autoconf and Automake build and install very quickly; Libtool will
206223
take a minute or two.
207224

208-
5. You can now run PMIx’s top-level "autogen.pl" script. This script
225+
5. You can now run PMIx’s top-level "autogen.sh" script. This script
209226
will invoke the GNU Autoconf, Automake, and Libtool commands in the
210227
proper order and setup to run PMIx's top-level "configure" script.
211228

212-
5a. You generally need to run autogen.pl only when the top-level
229+
5a. You generally need to run autogen.sh only when the top-level
213230
file "configure.ac" changes, or any files in the config/ or
214231
<project>/config/ directories change (these directories are
215232
where a lot of "include" files for PMI’xs configure script
216233
live).
217234

218-
5b. You do *NOT* need to re-run autogen.pl if you modify a
235+
5b. You do *NOT* need to re-run autogen.sh if you modify a
219236
Makefile.am.
220237

221238
Use of Flex

opal/mca/pmix/pmix4x/pmix/INSTALL

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
88
University of Stuttgart. All rights reserved.
99
Copyright (c) 2004-2005 The Regents of the University of California.
1010
All rights reserved.
11-
Copyright (c) 2008-2018 Cisco Systems, Inc. All rights reserved
12-
Copyright (c) 2013-2017 Intel, Inc. All rights reserved.
11+
Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
12+
Copyright (c) 2013-2019 Intel, Inc. All rights reserved.
1313
$COPYRIGHT$
1414

1515
Additional copyrights may follow
@@ -22,9 +22,9 @@ For More Information
2222

2323
This file is a *very* short overview of building and installing
2424
the PMIx library. Much more information is available in the
25-
FAQ section on the PMIx web site:
25+
How-To section on the PMIx web site:
2626

27-
http://pmix.github.io/pmix/faq
27+
https://pmix.org/support/how-to/
2828

2929

3030
Developer Builds
@@ -37,7 +37,7 @@ build PMIx. You must then run:
3737
shell$ ./autogen.pl
3838

3939
You will need very recent versions of GNU Autoconf, Automake, and
40-
Libtool. If autogen.pl fails, read the HACKING file. If anything
40+
Libtool. If autogen.sh fails, read the HACKING file. If anything
4141
else fails, read the HACKING file. Finally, we suggest reading the
4242
HACKING file.
4343

@@ -56,6 +56,24 @@ shell$ ./configure --prefix=/where/to/install
5656
[...lots of output...]
5757
shell$ make all install
5858

59+
NOTE: this version of PMIx requires the Libevent package to build
60+
and operate. Any version of Libevent greater than or equal to
61+
2.0.21 is acceptable.
62+
63+
NOTE: this version of PMIx optionally supports the HWLOC package
64+
for providing topology information to both the host environment
65+
(by collecting local inventory for rollup) and local client
66+
processes. Any version of HWLOC greater than 1.10 is supported,
67+
although versions in the 2.x series are recommended.
68+
69+
Note that you must point configure at the libevent installation
70+
using the --with-libevent=<dir> option if it is in a non-standard
71+
location. Similarly, non-standard locations for the HWLOC package
72+
must be specified using the --with-hwloc=<dir> option. In both
73+
cases, PMIx will automatically detect these packages in standard
74+
locations and build-in support for them unless otherwise specified
75+
using the respective configure option.
76+
5977
If you need special access to install, then you can execute "make
6078
all" as a user with write permissions in the build tree, and a
6179
separate "make install" as a user with write permissions to the

opal/mca/pmix/pmix4x/pmix/LICENSE

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Copyright (c) 2006-2010 Sun Microsystems, Inc. All rights reserved.
2626
Copyright (c) 2006-2010 The University of Houston. All rights reserved.
2727
Copyright (c) 2006-2009 Myricom, Inc. All rights reserved.
2828
Copyright (c) 2007-2008 UT-Battelle, LLC. All rights reserved.
29-
Copyright (c) 2007-2010 IBM Corporation. All rights reserved.
29+
Copyright (c) 2007-2019 IBM Corporation. All rights reserved.
3030
Copyright (c) 1998-2005 Forschungszentrum Juelich, Juelich Supercomputing
3131
Centre, Federal Republic of Germany
3232
Copyright (c) 2005-2008 ZIH, TU Dresden, Federal Republic of Germany
@@ -36,7 +36,7 @@ Copyright (c) 2008-2009 Institut National de Recherche en
3636
Informatique. All rights reserved.
3737
Copyright (c) 2007 Lawrence Livermore National Security, LLC.
3838
All rights reserved.
39-
Copyright (c) 2007-2009 Mellanox Technologies. All rights reserved.
39+
Copyright (c) 2007-2019 Mellanox Technologies. All rights reserved.
4040
Copyright (c) 2006-2010 QLogic Corporation. All rights reserved.
4141
Copyright (c) 2008-2010 Oak Ridge National Labs. All rights reserved.
4242
Copyright (c) 2006-2010 Oracle and/or its affiliates. All rights reserved.
@@ -45,7 +45,7 @@ Copyright (c) 2010 ARM ltd. All rights reserved.
4545
Copyright (c) 2010-2011 Alex Brick <[email protected]>. All rights reserved.
4646
Copyright (c) 2012 The University of Wisconsin-La Crosse. All rights
4747
reserved.
48-
Copyright (c) 2013-2014 Intel, Inc. All rights reserved.
48+
Copyright (c) 2013-2019 Intel, Inc. All rights reserved.
4949
Copyright (c) 2011-2014 NVIDIA Corporation. All rights reserved.
5050

5151
$COPYRIGHT$

opal/mca/pmix/pmix4x/pmix/NEWS

Lines changed: 97 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2015-2018 Intel, Inc. All rights reserved.
1+
Copyright (c) 2015-2019 Intel, Inc. All rights reserved.
22
Copyright (c) 2017 IBM Corporation. All rights reserved.
33
$COPYRIGHT$
44

@@ -17,13 +17,64 @@ the README file, PMIx typically maintains two separate version
1717
series simultaneously - the current release and one that is locked
1818
to only bug fixes. Since these series are semi-independent of each
1919
other, a single NEWS-worthy item might apply to different series. For
20-
example, a bug might be fixed in the master, and then moved to the
21-
current release as well as the "stable" bug fix release branch.
22-
20+
example, a bug might be fixed in the master, and then moved to
21+
multiple release branches.
2322

2423
Master (not on release branches yet)
2524
------------------------------------
2625

26+
3.1.2 -- 24 Jan 2019
27+
----------------------
28+
- Fix a bug in macro identifying system events
29+
- Restore some non-standard macros to the pmix_extend.h
30+
header - these are considered "deprecated" and will be
31+
removed from public-facing headers in future releases
32+
33+
34+
3.1.1 -- 18 Jan 2019
35+
----------------------
36+
- Fix a bug in registration of default event handlers
37+
that somehow slipped thru testing
38+
39+
40+
3.1.0 -- 17 Jan 2019
41+
----------------------
42+
**** THIS RELEASE MARKS THE STARTING POINT FOR FULL COMPLIANCE
43+
**** WITH THE PMIX v3 STANDARD. ALL API BEHAVIORS AND ATTRIBUTE
44+
**** DEFINITIONS MEET THE v3 STANDARD SPECIFICATIONS.
45+
- Add a new, faster dstore GDS component 'ds21'
46+
- Performance optimizations for the dstore GDS components.
47+
- Plug miscellaneous memory leaks
48+
- Silence an unnecessary warning message when checking connection
49+
to a non-supporting server
50+
- Ensure lost-connection events get delivered to default event
51+
handlers
52+
- Correctly handle cache refresh for queries
53+
- Protect against race conditions between host and internal library
54+
when dealing with async requests
55+
- Cleanup tool operations and add support for connections to
56+
remote servers. Initial support for debugger direct/indirect
57+
launch verified with PRRTE. Cleanup setting of tmpdir options.
58+
Drop rendezvous files when acting as a launcher
59+
- Automatically store the server URI for easy access by client
60+
- Provide MCA parameter to control TCP connect retry/timeout
61+
- Update event notification system to properly evict oldest events
62+
when more space is needed
63+
- Fix a number of error paths
64+
- Update IOF cache code to properly drop oldest message. Provide
65+
MCA parameter for setting cache size.
66+
- Handle setsockopt(SO_RCVTIMEO) not being supported
67+
- Ensure that epilogs get run even when connections unexpectedly
68+
terminate. Properly split epilog strings to process multiple
69+
paths
70+
- Pass the tool's command line to the server so it can be returned
71+
in queries
72+
- Add support for C11 atomics
73+
- Support collection and forwarding of fabric-specific envars
74+
- Improve handling of hwloc configure option
75+
- Fix PMIx_server_generate_regex to preserve node ordering
76+
- Fix a bug when registering default event handlers
77+
2778

2879
3.0.2 -- 18 Sept 2018
2980
----------------------
@@ -93,6 +144,46 @@ Master (not on release branches yet)
93144
- Fix several memory and file descriptor leaks
94145

95146

147+
2.2.2 -- 24 Jan 2019
148+
----------------------
149+
- Fix a bug in macro identifying system events
150+
151+
152+
2.2.1 -- 18 Jan 2019
153+
----------------------
154+
- Fix a bug in registration of default event handlers
155+
that somehow slipped thru testing
156+
157+
158+
2.2.0 -- 17 Jan 2019
159+
----------------------
160+
**** THIS RELEASE MARKS THE STARTING POINT FOR FULL COMPLIANCE
161+
**** WITH THE PMIX v2.2 STANDARD. ALL API BEHAVIORS AND ATTRIBUTE
162+
**** DEFINITIONS MEET THE v2.2 STANDARD SPECIFICATIONS.
163+
- Add a new, faster dstore GDS component 'ds21'
164+
- Performance optimizations for the dstore GDS components.
165+
- Plug miscellaneous memory leaks
166+
- Silence an unnecessary warning message when checking connection
167+
to a non-supporting server
168+
- Ensure lost-connection events get delivered to default event
169+
handlers
170+
- Correctly handle cache refresh for queries
171+
- Protect against race conditions between host and internal library
172+
when dealing with async requests
173+
- Cleanup tool operations and add support for connections to
174+
remote servers.
175+
- Automatically store the server URI for easy access by client
176+
- Provide MCA parameter to control TCP connect retry/timeout
177+
- Update event notification system to properly evict oldest events
178+
when more space is needed
179+
- Fix a number of error paths
180+
- Handle setsockopt(SO_RCVTIMEO) not being supported
181+
- Pass the tool's command line to the server so it can be returned
182+
in queries
183+
- Add support for C11 atomics
184+
- Fix a bug when registering default event handlers
185+
186+
96187
2.1.4 -- 18 Sep 2018
97188
----------------------
98189
- Updated configury to silence warnings on older compilers
@@ -127,7 +218,7 @@ Master (not on release branches yet)
127218
- Fix several memory and file descriptor leaks
128219

129220

130-
2.1.1 -- 5 Mar 2018
221+
2.1.1 -- 23 Feb 2018
131222
----------------------
132223
- Fix direct modex when receiving new nspace
133224
- Resolve direct modex of job-level info
@@ -154,7 +245,7 @@ Master (not on release branches yet)
154245
sets of numbers
155246

156247

157-
2.0.3 -- TBD
248+
2.0.3 -- 1 Feb 2018
158249
----------------------
159250
- Fix event notification so all sides of multi-library get notified
160251
of other library's existence

opal/mca/pmix/pmix4x/pmix/VERSION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ release=0
2323
# The only requirement is that it must be entirely printable ASCII
2424
# characters and have no white space.
2525

26-
greek=a1
26+
greek=
2727

2828
# If repo_rev is empty, then the repository version number will be
2929
# obtained during "make dist" via the "git describe --tags --always"
3030
# command, or with the date (if "git describe" fails) in the form of
3131
# "date<date>".
3232

33-
repo_rev=gitb5863c9c
33+
repo_rev=gita1212af2
3434

3535
# If tarball_version is not empty, it is used as the version string in
3636
# the tarball filename, regardless of all other versions listed in
@@ -44,7 +44,7 @@ tarball_version=
4444

4545
# The date when this release was created
4646

47-
date="Jan 10, 2019"
47+
date="Feb 04, 2019"
4848

4949
# The shared library version of each of PMIx's public libraries.
5050
# These versions are maintained in accordance with the "Library

opal/mca/pmix/pmix4x/pmix/config/pmix.m4

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,11 @@ AC_DEFUN([PMIX_SETUP_CORE],[
645645

646646
pmix_show_title "Library and Function tests"
647647

648+
# Darwin doesn't need -lutil, as it's something other than this -lutil.
649+
PMIX_SEARCH_LIBS_CORE([openpty], [util])
650+
651+
PMIX_SEARCH_LIBS_CORE([gethostbyname], [nsl])
652+
648653
PMIX_SEARCH_LIBS_CORE([socket], [socket])
649654

650655
# IRIX and CentOS have dirname in -lgen, usually in libc
@@ -653,6 +658,9 @@ AC_DEFUN([PMIX_SETUP_CORE],[
653658
# Darwin doesn't need -lm, as it's a symlink to libSystem.dylib
654659
PMIX_SEARCH_LIBS_CORE([ceil], [m])
655660

661+
# -lrt might be needed for clock_gettime
662+
PMIX_SEARCH_LIBS_CORE([clock_gettime], [rt])
663+
656664
AC_CHECK_FUNCS([asprintf snprintf vasprintf vsnprintf strsignal socketpair strncpy_s usleep statfs statvfs getpeereid getpeerucred strnlen posix_fallocate tcgetpgrp])
657665

658666
# On some hosts, htonl is a define, so the AC_CHECK_FUNC will get

0 commit comments

Comments
 (0)