Skip to content

Commit 174e967

Browse files
ggouaillardetrhc54
authored andcommitted
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 <[email protected]> Signed-off-by: Gilles Gouaillardet <[email protected]> Signed-off-by: Joshua Hursey <[email protected]>
1 parent dc0d6a5 commit 174e967

File tree

1,759 files changed

+2860
-368094
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,759 files changed

+2860
-368094
lines changed

.gitmodules

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
11
[submodule "hwloc-20x"]
22
path = opal/mca/hwloc/hwloc2/hwloc
33
url = https://github.com/open-mpi/hwloc.git
4+
[submodule "prrte"]
5+
path = prrte
6+
url = https://github.com/openpmix/prrte
7+
branch = master
8+
[submodule "openpmix"]
9+
path = opal/mca/pmix/pmix4x/openpmix
10+
url = https://github.com/openpmix/openpmix.git
11+
branch = master

Makefile.am

+9-1
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
# All rights reserved.
1212
# Copyright (c) 2006-2016 Cisco Systems, Inc. All rights reserved.
1313
# Copyright (c) 2012-2015 Los Alamos National Security, Inc. All rights reserved.
14-
# Copyright (c) 2014 Intel, Inc. All rights reserved.
14+
# Copyright (c) 2014-2019 Intel, Inc. All rights reserved.
1515
# Copyright (c) 2017-2018 Amazon.com, Inc. or its affiliates.
1616
# All Rights reserved.
17+
# Copyright (c) 2020 IBM Corporation. All rights reserved.
1718
# $COPYRIGHT$
1819
#
1920
# Additional copyrights may follow
@@ -22,7 +23,14 @@
2223
#
2324

2425
SUBDIRS = config contrib $(MCA_PROJECT_SUBDIRS) test
26+
if OMPI_WANT_PRRTE
27+
SUBDIRS += prrte
28+
endif
29+
2530
DIST_SUBDIRS = config contrib $(MCA_PROJECT_DIST_SUBDIRS) test
31+
if OMPI_WANT_PRRTE
32+
DIST_SUBDIRS += prrte
33+
endif
2634
EXTRA_DIST = README INSTALL VERSION Doxyfile LICENSE autogen.pl README.JAVA.txt AUTHORS
2735

2836
include examples/Makefile.include

VERSION

-4
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ libmpi_mpifh_so_version=0:0:0
9090
libmpi_usempi_tkr_so_version=0:0:0
9191
libmpi_usempi_ignore_tkr_so_version=0:0:0
9292
libmpi_usempif08_so_version=0:0:0
93-
libopen_rte_so_version=0:0:0
9493
libopen_pal_so_version=0:0:0
9594
libmpi_java_so_version=0:0:0
9695
liboshmem_so_version=0:0:0
@@ -105,9 +104,6 @@ libompitrace_so_version=0:0:0
105104
libmca_ompi_common_ompio_so_version=0:0:0
106105
libmca_ompi_common_monitoring_so_version=0:0:0
107106

108-
# ORTE layer
109-
libmca_orte_common_alps_so_version=0:0:0
110-
111107
# OPAL layer
112108
libmca_opal_common_cuda_so_version=0:0:0
113109
libmca_opal_common_ofi_so_version=0:0:0

autogen.pl

+22-25
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# Copyright (c) 2013-2020 Intel, Inc. All rights reserved.
88
# Copyright (c) 2015-2019 Research Organization for Information Science
99
# and Technology (RIST). All rights reserved.
10-
# Copyright (c) 2015 IBM Corporation. All rights reserved.
10+
# Copyright (c) 2015-2020 IBM Corporation. All rights reserved.
1111
#
1212
# $COPYRIGHT$
1313
#
@@ -47,6 +47,7 @@
4747
# Command line parameters
4848
my $no_ompi_arg = 0;
4949
my $no_orte_arg = 0;
50+
my $no_prrte_arg = 0;
5051
my $no_oshmem_arg = 0;
5152
my $quiet_arg = 0;
5253
my $debug_arg = 0;
@@ -1121,6 +1122,7 @@ sub in_tarball {
11211122

11221123
my $ok = Getopt::Long::GetOptions("no-ompi" => \$no_ompi_arg,
11231124
"no-orte" => \$no_orte_arg,
1125+
"no-prrte" => \$no_prrte_arg,
11241126
"no-oshmem" => \$no_oshmem_arg,
11251127
"quiet|q" => \$quiet_arg,
11261128
"debug|d" => \$debug_arg,
@@ -1136,7 +1138,8 @@ sub in_tarball {
11361138
if (!$ok);
11371139
print "Options:
11381140
--no-ompi | -no-ompi Do not build the Open MPI layer
1139-
--no-orte | -no-orte Do not build the ORTE layer
1141+
--no-orte | -no-orte Do not build Open MPI's runtime support (alias for --no-prrte)
1142+
--no-prrte | -no-prrte Do not build Open MPI's runtime support
11401143
--no-oshmem | -no-oshmem Do not build the OSHMEM layer
11411144
--quiet | -q Do not display normal verbose output
11421145
--debug | -d Output lots of debug information
@@ -1164,31 +1167,22 @@ sub in_tarball {
11641167
$no_ompi_arg = 1;
11651168
debug "No ompi subdirectory found - will not build MPI layer\n";
11661169
}
1167-
if (! -e "orte") {
1168-
$no_orte_arg = 1;
1169-
debug "No orte subdirectory found - will not build ORTE\n";
1170+
if (! -e "prrte") {
1171+
$no_prrte_arg = 1;
1172+
debug "No prrte subdirectory found - will not build PRRTE\n";
11701173
}
11711174
if (! -e "oshmem") {
11721175
$no_oshmem_arg = 1;
11731176
debug "No oshmem subdirectory found - will not build OSHMEM\n";
11741177
}
1178+
# alias --no-orte to --no-prrte
1179+
if ($no_orte_arg == 1) {
1180+
$no_prrte_arg = 1;
1181+
}
11751182

1176-
if (-e "orcm") {
1177-
# bozo check - ORCM requires ORTE
1178-
if ($no_orte_arg == 1) {
1179-
print "Cannot build ORCM without ORTE\n";
1180-
my_exit(1);
1181-
}
1182-
$project_name_long = "Open Resilient Cluster Manager";
1183-
$project_name_short = "open-rcm";
1184-
} elsif ($no_ompi_arg == 1) {
1185-
if ($no_orte_arg == 0) {
1186-
$project_name_long = "Open MPI Run Time Environment";
1187-
$project_name_short = "open-rte";
1188-
} else {
1189-
$project_name_long = "Open Portability Access Layer";
1190-
$project_name_short = "open-pal";
1191-
}
1183+
if ($no_ompi_arg == 1) {
1184+
$project_name_long = "Open Portability Access Layer";
1185+
$project_name_short = "open-pal";
11921186
}
11931187

11941188
#---------------------------------------------------------------------------
@@ -1393,19 +1387,18 @@ sub in_tarball {
13931387
# Top-level projects to examine
13941388
my $projects;
13951389
push(@{$projects}, { name => "opal", dir => "opal", need_base => 1 });
1396-
push(@{$projects}, { name => "orte", dir => "orte", need_base => 1 })
1397-
if (!$no_orte_arg);
13981390
push(@{$projects}, { name => "ompi", dir => "ompi", need_base => 1 })
13991391
if (!$no_ompi_arg);
14001392
push(@{$projects}, { name => "oshmem", dir => "oshmem", need_base => 1 })
14011393
if (!$no_ompi_arg && !$no_oshmem_arg);
1402-
push(@{$projects}, { name => "orcm", dir => "orcm", need_base => 1 })
1403-
if (-e "orcm");
14041394

14051395
$m4 .= "dnl Separate m4 define for each project\n";
14061396
foreach my $p (@$projects) {
14071397
$m4 .= "m4_define([project_$p->{name}], [1])\n";
14081398
}
1399+
if (!$no_prrte_arg) {
1400+
$m4 .= "m4_define([project_prrte], [1])\n";
1401+
}
14091402

14101403
$m4 .= "\ndnl Project names
14111404
m4_define([project_name_long], [$project_name_long])
@@ -1433,6 +1426,10 @@ sub in_tarball {
14331426
++$step;
14341427
verbose "\n$step. Processing autogen.subdirs directories\n";
14351428

1429+
if (!$no_prrte_arg) {
1430+
process_autogen_subdirs(".");
1431+
}
1432+
14361433
if ($#subdirs >= 0) {
14371434
foreach my $d (@subdirs) {
14381435
process_subdir($d);

autogen.subdirs

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
prrte

config/ompi_config_files.m4

+1
Original file line numberDiff line numberDiff line change
@@ -57,5 +57,6 @@ AC_DEFUN([OMPI_CONFIG_FILES],[
5757
ompi/tools/wrappers/ompi-fort.pc
5858
ompi/tools/wrappers/mpijavac.pl
5959
ompi/tools/mpisync/Makefile
60+
ompi/tools/mpirun/Makefile
6061
])
6162
])

config/ompi_setup_prrte.m4

+103
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
# -*- shell-script -*-
2+
#
3+
# Copyright (c) 2004-2009 The Trustees of Indiana University and Indiana
4+
# University Research and Technology
5+
# Corporation. All rights reserved.
6+
# Copyright (c) 2004-2005 The University of Tennessee and The University
7+
# of Tennessee Research Foundation. All rights
8+
# reserved.
9+
# Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
10+
# University of Stuttgart. All rights reserved.
11+
# Copyright (c) 2004-2005 The Regents of the University of California.
12+
# All rights reserved.
13+
# Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved.
14+
# Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved.
15+
# Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights
16+
# reserved.
17+
# Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
18+
# Copyright (c) 2019-2020 Intel, Inc. All rights reserved.
19+
# $COPYRIGHT$
20+
#
21+
# Additional copyrights may follow
22+
#
23+
# $HEADER$
24+
#
25+
26+
AC_DEFUN([OMPI_SETUP_PRRTE],[
27+
OPAL_VAR_SCOPE_PUSH([opal_prrte_save_CPPFLAGS opal_prrte_save_CFLAGS opal_prrte_save_LDFLAGS opal_prrte_save_LIBS opal_prrte_args opal_prrte_save_enable_dlopen opal_prrte_save_enable_mca_dso opal_prrte_save_enable_mca_static])
28+
29+
opal_prrte_save_CFLAGS=$CFLAGS
30+
opal_prrte_save_CPPFLAGS=$CPPFLAGS
31+
opal_prrte_save_LDFLAGS=$LDFLAGS
32+
opal_prrte_save_LIBS=$LIBS
33+
opal_prrte_save_enable_dlopen=enable_dlopen
34+
opal_prrte_save_enable_mca_dso=enable_mca_dso
35+
opal_prrte_save_enable_mca_static=enable_mca_static
36+
37+
AC_ARG_ENABLE([internal-rte],
38+
[AC_HELP_STRING([--enable-internal-rte],
39+
[Enable internal runtime support and provide mpiexec/mpirun (default: enabled)])])
40+
AC_MSG_CHECKING([if RTE support is enabled])
41+
if test "$enable_internal_rte" != "no"; then
42+
AC_MSG_RESULT([yes])
43+
if test -z $with_libevent || test "$with_libevent" = "internal" || test "$with_libevent" = "yes"; then
44+
opal_prrte_libevent_arg="--with-libevent-header=$OMPI_TOP_SRCDIR/opal/mca/event/event.h"
45+
elif test "$with_libevent" = "external"; then
46+
opal_prrte_libevent_arg=""
47+
else
48+
opal_prrte_libevent_arg="--with-libevent=$with_libevent"
49+
fi
50+
51+
if test -z $with_hwloc || test "$with_hwloc" = "internal" || test "$with_hwloc" = "yes"; then
52+
opal_prrte_hwloc_arg="--with-hwloc-header=$OMPI_TOP_SRCDIR/opal/mca/hwloc/hwloc-internal.h"
53+
elif test "$with_hwloc" = "external"; then
54+
opal_prrte_hwloc_arg=""
55+
else
56+
opal_prrte_hwloc_arg="--with-hwloc=$with_hwloc"
57+
fi
58+
59+
if test -z $with_pmix || test "$with_pmix" = "internal" || test "$with_pmix" = "yes"; then
60+
opal_prrte_pmix_arg="--with-pmix-header=$OMPI_TOP_SRCDIR/opal/mca/pmix/pmix-internal.h"
61+
elif test "$with_pmix" = "external"; then
62+
opal_prrte_pmix_arg=""
63+
else
64+
opal_prrte_pmix_arg="--with-pmix=$with_pmix"
65+
fi
66+
67+
opal_prrte_args="--prefix=$prefix --disable-dlopen $opal_prrte_libevent_arg $opal_prrte_hwloc_arg $opal_prrte_pmix_arg"
68+
AS_IF([test "$enable_debug" = "yes"],
69+
[opal_prrte_args="--enable-debug $opal_prrte_args"
70+
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS -g"],
71+
[opal_prrte_args="--disable-debug $opal_prrte_args"
72+
CFLAGS="$OPAL_CFLAGS_BEFORE_PICKY $OPAL_VISIBILITY_CFLAGS"])
73+
AS_IF([test "$with_devel_headers" = "yes"],
74+
[opal_prrte_args="--with-devel-headers $opal_prrte_args"])
75+
# add the extra libs
76+
opal_prrte_args="$opal_prrte_args --with-prrte-extra-lib=$OMPI_TOP_BUILDDIR/opal/libopen-pal.la --with-prrte-extra-ltlib=$OMPI_TOP_BUILDDIR/opal/libopen-pal.la"
77+
78+
AC_MSG_CHECKING([final prrte configure args])
79+
AC_MSG_RESULT([$opal_prrte_args])
80+
81+
CPPFLAGS="-I$OPAL_TOP_SRCDIR -I$OPAL_TOP_BUILDDIR -I$OPAL_TOP_SRCDIR/opal/include -I$OPAL_TOP_BUILDDIR/opal/include $CPPFLAGS"
82+
OPAL_CONFIG_SUBDIR([prrte],
83+
[$opal_prrte_args $opal_subdir_args 'CFLAGS=$CFLAGS' 'CPPFLAGS=$CPPFLAGS'],
84+
[opal_prrte_happy=1], [opal_prrte_happy=0])
85+
86+
OPAL_SUMMARY_ADD([[Miscellaneous]],[[PRRTE]],[prrte],[yes])
87+
88+
else
89+
OPAL_SUMMARY_ADD([[Miscellaneous]],[[PRRTE]],[prrte],[no (disabled)])
90+
AC_MSG_RESULT([no (disabled)])
91+
fi
92+
93+
CFLAGS=$opal_prrte_save_CFLAGS
94+
CPPFLAGS=$opal_prrte_save_CPPFLAGS
95+
LDFLAGS=$opal_prrte_save_LDFLAGS
96+
LIBS=$opal_prrte_save_LIBS
97+
enable_dlopen=$opal_prrte_save_enable_dlopen
98+
enable_mca_dso=$opal_prrte_save_enable_mca_dso
99+
enable_mca_static=$opal_prrte_save_enable_mca_static
100+
101+
OPAL_VAR_SCOPE_POP
102+
103+
])

0 commit comments

Comments
 (0)