From 59774cf5115b2feaa462bd14c9b5529cae8d717f Mon Sep 17 00:00:00 2001 From: Howard Pritchard Date: Wed, 13 Nov 2024 07:01:19 -0700 Subject: [PATCH 1/2] GitHub Actions: checkout specific pmix sha to use for CI add fetch depth 0 Till we figure out what got busted in upstream pmix/prrte combo. See what's happening with https://github.com/open-mpi/ompi/pull/12906 Signed-off-by: Howard Pritchard --- .github/workflows/builds.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/builds.yaml b/.github/workflows/builds.yaml index 4e9c1424ec..82aa5d8de1 100644 --- a/.github/workflows/builds.yaml +++ b/.github/workflows/builds.yaml @@ -19,6 +19,7 @@ jobs: repository: openpmix/openpmix path: openpmix/master ref: master + fetch-depth: 0 - name: Build OpenPMIx run: | cd openpmix/master @@ -28,6 +29,7 @@ jobs: # configure. libevent_cppflags=$(pkg-config libevent --cflags) libevent_ldflags=$(pkg-config libevent --libs | perl -pe 's/^.*(-L[^ ]+).*$/\1/') + git checkout 08e41ed5 ./autogen.pl ./configure --prefix=$RUNNER_TEMP/pmixinstall \ CPPFLAGS=$libevent_cppflags \ @@ -93,9 +95,11 @@ jobs: repository: openpmix/openpmix path: openpmix/master ref: master + fetch-depth: 0 - name: Build OpenPMIx run: | cd openpmix/master + git checkout 08e41ed5 ./autogen.pl ./configure --prefix=$RUNNER_TEMP/pmixinstall make -j @@ -141,9 +145,11 @@ jobs: repository: openpmix/openpmix path: openpmix/master ref: master + fetch-depth: 0 - name: Build OpenPMIx run: | cd openpmix/master + git checkout 08e41ed5 ./autogen.pl ./configure --prefix=$RUNNER_TEMP/pmixinstall make -j From 5181ce5c4ce770ff52341a4b5595d028bc83c943 Mon Sep 17 00:00:00 2001 From: Gerardo Garcia Date: Tue, 5 Nov 2024 21:27:47 -0500 Subject: [PATCH 2/2] Reworked PRRTE to transition the functionality of prte.c into a library function and restructure any related components. Removed prte.c and all references to it from the Makefile.am, and successfully extracted and refactored the main function from prte.c into the library function prte_launcher.c. Also relocated prte_launcher.c to src/runtime to align with its role as a library function rather than a tool in src/tools/prte. The directory src/tools/prte was also deleted and the build system was updated to reflect these structural changes in PRRTE. This work is apart of the ongoing effort of integrating PRRTE functionality back into OMPI, avoiding the need to fork/exec prterun. Signed-off-by: Gerardo Garcia --- config/prte_config_files.m4 | 1 - include/prte.h | 1 + src/runtime/Makefile.am | 3 +- .../prte/prte.c => runtime/prte_launcher.c} | 2 +- src/tools/Makefile.am | 2 - src/tools/prte/Makefile.am | 55 ------------------- 6 files changed, 4 insertions(+), 60 deletions(-) rename src/{tools/prte/prte.c => runtime/prte_launcher.c} (99%) delete mode 100644 src/tools/prte/Makefile.am diff --git a/config/prte_config_files.m4 b/config/prte_config_files.m4 index ef604c165f..adc4b33fdf 100644 --- a/config/prte_config_files.m4 +++ b/config/prte_config_files.m4 @@ -23,7 +23,6 @@ AC_DEFUN([PRTE_CONFIG_FILES],[ src/tools/prted/Makefile src/tools/prun/Makefile src/tools/prte_info/Makefile - src/tools/prte/Makefile src/tools/pterm/Makefile ]) ]) diff --git a/include/prte.h b/include/prte.h index 4039f31a0e..ccfb058c03 100644 --- a/include/prte.h +++ b/include/prte.h @@ -22,5 +22,6 @@ * Main body of prte functionality */ int prte(int argc, char *argv[]); +int prte_launch(int argc, char *argv[]); #endif diff --git a/src/runtime/Makefile.am b/src/runtime/Makefile.am index 196e066f15..081d6654cf 100644 --- a/src/runtime/Makefile.am +++ b/src/runtime/Makefile.am @@ -48,4 +48,5 @@ libprrte_la_SOURCES += \ runtime/prte_mca_params.c \ runtime/prte_wait.c \ runtime/prte_data_server.c \ - runtime/prte_progress_threads.c + runtime/prte_progress_threads.c \ + runtime/prte_launcher.c diff --git a/src/tools/prte/prte.c b/src/runtime/prte_launcher.c similarity index 99% rename from src/tools/prte/prte.c rename to src/runtime/prte_launcher.c index 5d6b076fae..224936d08c 100644 --- a/src/tools/prte/prte.c +++ b/src/runtime/prte_launcher.c @@ -246,7 +246,7 @@ static char *pmix_getline(FILE *fp) } #endif -int main(int argc, char *argv[]) +int prte_launch(int argc, char *argv[]) { int rc = 1, i; char *param, *timeoutenv, *tpath, *cptr; diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am index de4cd0aa97..ef58fe6d2a 100644 --- a/src/tools/Makefile.am +++ b/src/tools/Makefile.am @@ -29,13 +29,11 @@ SUBDIRS += \ tools/prted \ tools/prun \ tools/prte_info \ - tools/prte \ tools/pterm DIST_SUBDIRS += \ tools/prted \ tools/prun \ tools/prte_info \ - tools/prte \ tools/pterm diff --git a/src/tools/prte/Makefile.am b/src/tools/prte/Makefile.am deleted file mode 100644 index 7fbd3b777e..0000000000 --- a/src/tools/prte/Makefile.am +++ /dev/null @@ -1,55 +0,0 @@ -# -# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -# University Research and Technology -# Corporation. All rights reserved. -# Copyright (c) 2004-2005 The University of Tennessee and The University -# of Tennessee Research Foundation. All rights -# reserved. -# Copyright (c) 2004-2009 High Performance Computing Center Stuttgart, -# University of Stuttgart. All rights reserved. -# Copyright (c) 2004-2005 The Regents of the University of California. -# All rights reserved. -# Copyright (c) 2008-2020 Cisco Systems, Inc. All rights reserved -# Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. -# Copyright (c) 2015-2020 Intel, Inc. All rights reserved. -# Copyright (c) 2021-2022 Nanook Consulting. All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -AM_LDFLAGS = $(prte_hwloc_LDFLAGS) $(prte_libevent_LDFLAGS) $(prte_pmix_LDFLAGS) -AM_CFLAGS = \ - -DPRTE_CONFIGURE_USER="\"@PRTE_CONFIGURE_USER@\"" \ - -DPRTE_CONFIGURE_HOST="\"@PRTE_CONFIGURE_HOST@\"" \ - -DPRTE_CONFIGURE_DATE="\"@PRTE_CONFIGURE_DATE@\"" \ - -DPRTE_BUILD_USER="\"$$USER\"" \ - -DPRTE_BUILD_HOST="\"$${HOSTNAME:-`(hostname || uname -n) | sed 1q`}\"" \ - -DPRTE_BUILD_DATE="\"`$(top_srcdir)/config/getdate.sh`\"" \ - -DPRTE_BUILD_CFLAGS="\"@CFLAGS@\"" \ - -DPRTE_BUILD_CPPFLAGS="\"@CPPFLAGS@\"" \ - -DPRTE_BUILD_LDFLAGS="\"@LDFLAGS@\"" \ - -DPRTE_BUILD_LIBS="\"@LIBS@\"" \ - -DPRTE_CC_ABSOLUTE="\"@PRTE_CC_ABSOLUTE@\"" \ - -DPRTE_GREEK_VERSION="\"@PRTE_GREEK_VERSION@\"" \ - -DPRTE_REPO_REV="\"@PRTE_REPO_REV@\"" \ - -DPMIX_RELEASE_DATE="\"@PMIX_RELEASE_DATE@\"" - -bin_PROGRAMS = prte - -prte_SOURCES = \ - prte.c - -prte_LDADD = \ - $(prte_libevent_LIBS) \ - $(prte_hwloc_LIBS) \ - $(prte_pmix_LIBS) \ - $(top_builddir)/src/libprrte.la - -install-exec-hook: - (cd $(DESTDIR)$(bindir); rm -f prterun$(EXEEXT); $(LN_S) prte$(EXEEXT) prterun$(EXEEXT)) - -uninstall-local: - rm -f $(DESTDIR)$(bindir)/prterun$(EXEEXT)