1
1

18 Коммитов

Автор SHA1 Сообщение Дата
Brian Barrett
78dfe451ed build: Fix PRRTE prefix_by_default handling
Fix typo that broke backward-compatible prefix-by-default argument
handling.  Remove some dead code while we're here.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2020-10-05 19:55:33 +00:00
Brian Barrett
f500371a87 build: Fix precious variable passing to sub-configure
Be more careful than just exporting CPPFLAGS (or not) to sub-
configure scripts.  This fixes a bug in which --enable-visibility
would cause PRRTE's configure to fail, because the top-level
configure added -Wmissing-prototypes to CPPFLAGS and then
the subconfigure added -Werror at one point.  In general,
blindly exporting all the CPPFLAGS OMPI adds was a bad idea, so
we instead only export precious variables if they were
set in the calling environment, on the command line of the
top-level configure, or explicitly added to the sub-
configure environment (like CPPFLAGS for PMIx/PRRTE).

Add some envirnoment scrubbing/saving/restore wrappers and
modify PAC_CONFIG_SUBDIR_ARGS to play a little nicer with
precious variables so that this all works.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2020-10-05 19:55:33 +00:00
Brian Barrett
57df1084cd build: Fix sed expression used to ignore subconfig args
The ignore argument to PAC_CONFIG_SUBDIR_ARGS is an m4 list of
sed expressions.  --with-platform=.* ignored not just the platform
argument, but everything after it.  Fix the regular expressions to
ignore everything until the next whitespace.  This probably still
isn't entirely right, because it will fail if the argument has
spaces in it (like a path with spaces), but we fail that test
so many other places that it does not add to the fail.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2020-10-05 19:55:33 +00:00
Brian Barrett
c5d8037b85 build: Move PRRTE to a 3rd-party package
With Open MPI 5.0, the decision was made to stop building
3rd-party packages, such as Libevent, HWLOC, PMIx, and PRRTE as
MCA components and instead 1) start relying on external libraries
whenever possible and 2) Open MPI builds the 3rd party
libraries (if needed) as independent libraries, rather than
linked into libopen-pal.

This patch moves the prrte submodule from the top-level to the
3rd-party directory, to match the behavior of other 3rd-party
packages like Libevent and PMIx.  Since Open MPI does not
support building with an external PRRTE, that functionality
is skipped in this patch.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2020-10-01 16:56:01 +00:00
Brian Barrett
8f89d15d31 build: Move PMIx to a 3rd-party package
With Open MPI 5.0, the decision was made to stop building
3rd-party packages, such as Libevent, HWLOC, PMIx, and PRRTE as
MCA components and instead 1) start relying on external libraries
whenever possible and 2) Open MPI builds the 3rd party
libraries (if needed) as independent libraries, rather than
linked into libopen-pal.

This patch moves the PMIx library bundled with Open MPI from a
MCA framework to a stand-alone library built outside of OPAL.  Due
to the amount of code in the MCA base (and its assumptions about
being part of an MCA framework), the framework is left with no
active components.  Any pre-installed version of PMIx 3.0.0 or
newer is preferred over the internal version.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2020-10-01 16:56:00 +00:00
Brian Barrett
0e9581d478 build: Move hwloc to a 3rd-party package
With Open MPI 5.0, the decision was made to stop building
3rd-party packages, such as Libevent, HWLOC, PMIx, and PRRTE as
MCA components and instead 1) start relying on external libraries
whenever possible and 2) Open MPI builds the 3rd party
libraries (if needed) as independent libraries, rather than
linked into libopen-pal.

This patch moves the hwloc library bundled with Open MPI from a
MCA framework to a stand-alone library built outside of OPAL.  Due
to the amount of code in the MCA base (and its assumptions about
being part of an MCA framework), the framework is left with no
active components.  Any pre-installed version of HWLOC 1.6 or
newer is preferred over the internal version.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2020-10-01 16:55:59 +00:00
Brian Barrett
9ffac85650 build: Move libevent to a 3rd-party package
With Open MPI 5.0, the decision was made to stop building
3rd-party packages, such as Libevent, HWLOC, PMIx, and PRRTE as
MCA components and instead 1) start relying on external libraries
whenever possible and 2) Open MPI builds the 3rd party
libraries (if needed) as independent libraries, rather than
linked into libopen-pal.

This patch moves libevent from an MCA framework to a stand-alone
library built outside of OPAL.  A wrapper in opal/util is provided
to minimize the unnecessary changes in the rest of the code.  When
using the internal Libevent, it will be installed as a stand-alone
libevent.a, instead of bundled in OPAL.  Any pre-installed version
of Libevent at or after 2.0.21 is preferred over the internal
version.

Signed-off-by: Brian Barrett <bbarrett@amazon.com>
2020-10-01 16:55:58 +00:00
Ralph Castain
4468691eeb
Sync up with PRRTE and cleanup stale code
Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-05-16 14:48:31 -07:00
Ralph Castain
60c650e79b
Ensure "mpirun --version" reports as Open MPI
Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-04-22 15:11:21 -07:00
Ralph Castain
44c97e3842
Update again and hope to fix the integration points
Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-04-02 11:58:58 -07:00
Ralph Castain
8615761470
Incremental step forward on configury for PRRTE
Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-04-02 07:40:46 -07:00
Ralph Castain
50d05e7b64
Revert "Add extra libs to PRRTE binaries for external deps"
This reverts commit 1aabbe456d5de8fc3c3d6f91eabb8851db7d63eb.

Update PMIx and PRRTE, plus PRRTE config integration

Cleanup how we pass the extra libs and LDFLAGS for linking against
external libevent, hwloc, and pmix installs.

Catch the flag indicating that PMIx provided the user-level default MCA
params so we don't go looking for them ourselves.

Cleanup misc config warnings

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-04-01 20:17:32 -07:00
Ralph Castain
1aabbe456d
Add extra libs to PRRTE binaries for external deps
libevent, hwloc, and pmix can be external and may require that their
libs be explicitly linked into the PRRTE binaries

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-03-30 16:06:40 -07:00
Ralph Castain
95dacd2086
Fix singletons and ensure adequate PMIx version
OMPI can only support PMIx v3 and above. PRRTE requires at least PMIx
v4, so protect against the case where OMPI is built against an external
PMIx v3.

Fix check of PMIx_Init return code for singleton operations.

Ensure that the PMIx framework gets properly opened.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-03-23 10:29:42 -07:00
Ralph Castain
8d66045e95
Deprecate the enable-orterun-prefix-by-default options
Mark the --enable-orterun-prefix-by-default and
--enable-mpirun-prefix-by-default options as deprecated, but continue to
honor them by translating them to the new
--enable-prte-prefix-by-default option.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-02-21 08:02:13 -08:00
Ralph Castain
edaf9160ae
Enable build against PMIx v2.2 without internal PRRTE
If you autogen.pl --without-prrte, we wouldn't configure or build PRRTE
support. However, configuring with --disable-internal-rte wasn't working
as it was being ignored. This led to some false errors when compiling
with an earlier PMIx v2.2 release.

That said, there were a couple of places that needed protection against
PMIx v2.2.

Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-02-15 16:28:16 -08:00
Ralph Castain
344346f27e
Provide hooks for PRRTE and PMIx platform files
Signed-off-by: Ralph Castain <rhc@pmix.org>
2020-02-15 08:40:56 -08:00
Gilles Gouaillardet
174e967dbc
Remove ORTE project
Will be replaced by PRRTE. Ensure that OMPI and OPAL layers build
without reference to ORTE. Setup opal/pmix framework to be static.
Remove support for all PMI-1 and PMI-2 libraries. Add support for
"external" pmix component as well as internal v4 one.

remove orte: misc fixes

 - UCX fixes
 - VPATH issue
 - oshmem fixes
 - remove useless definition
 - Add PRRTE submodule
 - Get autogen.pl to traverse PRRTE submodule
 - Remove stale orcm reference
 - Configure embedded PRRTE
 - Correctly pass the prefix to PRRTE
 - Correctly set the OMPI_WANT_PRRTE am_conditional
 - Move prrte configuration to the end of OMPI's configure.ac
 - Make mpirun a symlink to prun, when available
 - Fix makedist with --no-orte/--no-prrte option
 - Add a `--no-prrte` option which is the same as the legacy
   `--no-orte` option.
 - Remove embedded PMIx tarball. Replace it with new submodule
   pointing to OpenPMIx master repo's master branch
 - Some cleanup in PRRTE integration and add config summary entry
 - Correctly set the hostname
 - Fix locality
 - Fix singleton operations
 - Fix support for "tune" and "am" options

Signed-off-by: Ralph Castain <rhc@pmix.org>
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Signed-off-by: Joshua Hursey <jhursey@us.ibm.com>
2020-02-07 18:20:06 -08:00