From 73385943a72413b29b8cd71ee7774fad2a98eb6a Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Mon, 1 Jul 2024 10:06:35 -0400 Subject: [PATCH 1/3] configure: Add --with-mpi-moduledir configure CLI option Parameterize the install location of Fortran MPI bindings modulefiles via the configure --with-mpi-moduledir CLI option (default to $libdir, per all prior versions of Open MPI). Signed-off-by: Jeff Squyres --- config/ompi_configure_options.m4 | 9 +++++++++ config/opal_setup_wrappers.m4 | 4 ++-- docs/installing-open-mpi/configure-cli-options/mpi.rst | 5 +++++ ompi/mpi/fortran/mpiext-use-mpi-f08/Makefile.am | 8 ++++---- ompi/mpi/fortran/mpiext-use-mpi/Makefile.am | 8 ++++---- ompi/mpi/fortran/use-mpi-f08/Makefile.am | 8 ++++---- ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am | 8 ++++---- ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.am | 8 ++++---- ompi/mpi/fortran/use-mpi-tkr/Makefile.am | 8 ++++---- ompi/mpi/fortran/use-mpi/Makefile.am | 8 ++++---- 10 files changed, 44 insertions(+), 30 deletions(-) diff --git a/config/ompi_configure_options.m4 b/config/ompi_configure_options.m4 index 70353f0fe41..1ebf01f0dc4 100644 --- a/config/ompi_configure_options.m4 +++ b/config/ompi_configure_options.m4 @@ -166,6 +166,15 @@ case "x$enable_mpi_fortran" in ;; esac +AC_MSG_CHECKING([where to install Fortran MPI modules]) +AC_ARG_WITH([mpi-moduledir], + [AS_HELP_STRING([--with-mpi-moduledir], + [specify where to install Fortran MPI modules (default: $libdir)])], + [OMPI_FORTRAN_MODULEDIR=$withval], + [OMPI_FORTRAN_MODULEDIR=$libdir]) +AC_SUBST(OMPI_FORTRAN_MODULEDIR) +AC_MSG_RESULT([$OMPI_FORTRAN_MODULEDIR]) + # Remove these when we finally kill them once and for all AC_ARG_ENABLE([mpi1-compatibility], [AS_HELP_STRING([--enable-mpi1-compatibility], diff --git a/config/opal_setup_wrappers.m4 b/config/opal_setup_wrappers.m4 index bf1012802c4..3bfd6e465c5 100644 --- a/config/opal_setup_wrappers.m4 +++ b/config/opal_setup_wrappers.m4 @@ -541,7 +541,7 @@ AC_DEFUN([OPAL_SETUP_WRAPPER_FINAL],[ OMPI_WRAPPER_FCFLAGS='-I${includedir}'" ${wrapper_extra_fcflags} ${with_wrapper_fcflags}" AS_IF([test -n "${OMPI_FC_MODULE_FLAG}"], [dnl deal with some interesting expansion behavior in OPAL_APPEND - wrapper_tmp_arg="${OMPI_FC_MODULE_FLAG}"'${libdir}' + wrapper_tmp_arg="${OMPI_FC_MODULE_FLAG} ${OMPI_FORTRAN_MODULEDIR}" OPAL_APPEND([OMPI_WRAPPER_FCFLAGS], [${wrapper_tmp_arg}])]) AC_SUBST([OMPI_WRAPPER_FCFLAGS]) AC_MSG_RESULT([$OMPI_WRAPPER_EXTRA_FCFLAGS]) @@ -780,7 +780,7 @@ AC_DEFUN([OPAL_SETUP_WRAPPER_FINAL],[ OSHMEM_WRAPPER_FCFLAGS='-I${includedir}'" ${wrapper_extra_fcflags} ${with_wrapper_fcflags}" AS_IF([test -n "${OMPI_FC_MODULE_FLAG}"], [dnl deal with some interesting expansion behavior in OPAL_APPEND - wrapper_tmp_arg="${OMPI_FC_MODULE_FLAG}"'${libdir}' + wrapper_tmp_arg="${OMPI_FC_MODULE_FLAG} ${OMPI_FORTRAN_MODULEDIR}" OPAL_APPEND([OSHMEM_WRAPPER_FCFLAGS], [${wrapper_tmp_arg}])]) AC_SUBST([OSHMEM_WRAPPER_FCFLAGS]) AC_MSG_RESULT([$OSHMEM_WRAPPER_EXTRA_FCFLAGS]) diff --git a/docs/installing-open-mpi/configure-cli-options/mpi.rst b/docs/installing-open-mpi/configure-cli-options/mpi.rst index 150b0f80949..6205175443d 100644 --- a/docs/installing-open-mpi/configure-cli-options/mpi.rst +++ b/docs/installing-open-mpi/configure-cli-options/mpi.rst @@ -60,6 +60,11 @@ MPI API behaviors that can be used with ``configure``: ``--disable-mpi-fortran``). This is mutually exclusive with building the OpenSHMEM Fortran interface. +* ``--with-mpi-moduledir=DIR``: + Specify a specific ``DIR`` directory where to install the MPI + Fortran bindings modulefiles. By default, Open MPI will install + Fortran modulefiles into ``$libdir``. + * ``--enable-mpi-ext[=LIST]``: Enable Open MPI's non-portable API extensions. ``LIST`` is a comma-delmited list of extensions. If no ``LIST`` is specified, all diff --git a/ompi/mpi/fortran/mpiext-use-mpi-f08/Makefile.am b/ompi/mpi/fortran/mpiext-use-mpi-f08/Makefile.am index 5e5312f6e2d..50d8445905b 100644 --- a/ompi/mpi/fortran/mpiext-use-mpi-f08/Makefile.am +++ b/ompi/mpi/fortran/mpiext-use-mpi-f08/Makefile.am @@ -73,14 +73,14 @@ CLEANFILES += *.i90 # install-exec-hook: @ for file in `ls *.mod`; do \ - echo $(INSTALL) $$file $(DESTDIR)$(libdir); \ - $(INSTALL) $$file $(DESTDIR)$(libdir); \ + echo $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ + $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ done uninstall-local: @ for file in `ls *.mod`; do \ - echo rm -f $(DESTDIR)$(libdir)/$$file; \ - rm -f $(DESTDIR)$(libdir)/$$file; \ + echo rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ + rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ done else diff --git a/ompi/mpi/fortran/mpiext-use-mpi/Makefile.am b/ompi/mpi/fortran/mpiext-use-mpi/Makefile.am index 825da31f1a8..25d53171ffd 100644 --- a/ompi/mpi/fortran/mpiext-use-mpi/Makefile.am +++ b/ompi/mpi/fortran/mpiext-use-mpi/Makefile.am @@ -71,14 +71,14 @@ CLEANFILES += *.i90 # install-exec-hook: @ for file in `ls *.mod`; do \ - echo $(INSTALL) $$file $(DESTDIR)$(libdir); \ - $(INSTALL) $$file $(DESTDIR)$(libdir); \ + echo $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ + $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ done uninstall-local: @ for file in `ls *.mod`; do \ - echo rm -f $(DESTDIR)$(libdir)/$$file; \ - rm -f $(DESTDIR)$(libdir)/$$file; \ + echo rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ + rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ done else diff --git a/ompi/mpi/fortran/use-mpi-f08/Makefile.am b/ompi/mpi/fortran/use-mpi-f08/Makefile.am index d788d56c2da..9440b7a9c23 100644 --- a/ompi/mpi/fortran/use-mpi-f08/Makefile.am +++ b/ompi/mpi/fortran/use-mpi-f08/Makefile.am @@ -566,14 +566,14 @@ mpi-f08.lo: $(module_sentinel_files) $(SIZEOF_H) install-exec-hook: @ for file in `ls *.mod`; do \ - echo $(INSTALL) $$file $(DESTDIR)$(libdir); \ - $(INSTALL) $$file $(DESTDIR)$(libdir); \ + echo $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ + $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ done uninstall-local: @ for file in `ls *.mod`; do \ - echo rm -f $(DESTDIR)$(libdir)/$$file; \ - rm -f $(DESTDIR)$(libdir)/$$file; \ + echo rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ + rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ done endif diff --git a/ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am b/ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am index 87f1c2db8ba..bf6595c0d9f 100644 --- a/ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am +++ b/ompi/mpi/fortran/use-mpi-f08/mod/Makefile.am @@ -102,14 +102,14 @@ pmpi-f08-interfaces.lo: mpi-f08-rename.h install-exec-hook: @ for file in `ls *.mod`; do \ - echo $(INSTALL) $$file $(DESTDIR)$(libdir); \ - $(INSTALL) $$file $(DESTDIR)$(libdir); \ + echo $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ + $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ done uninstall-local: @ for file in `ls *.mod`; do \ - echo rm -f $(DESTDIR)$(libdir)/$$file; \ - rm -f $(DESTDIR)$(libdir)/$$file; \ + echo rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ + rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ done endif diff --git a/ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.am b/ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.am index 73a04972bf0..ed23a0fdea7 100644 --- a/ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.am +++ b/ompi/mpi/fortran/use-mpi-ignore-tkr/Makefile.am @@ -136,14 +136,14 @@ CLEANFILES += *.i90 install-exec-hook: @ for file in `ls *.mod`; do \ - echo $(INSTALL) $$file $(DESTDIR)$(libdir); \ - $(INSTALL) $$file $(DESTDIR)$(libdir); \ + echo $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ + $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ done uninstall-local: @ for file in `ls *.mod`; do \ - echo rm -f $(DESTDIR)$(libdir)/$$file; \ - rm -f $(DESTDIR)$(libdir)/$$file; \ + echo rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ + rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ done endif diff --git a/ompi/mpi/fortran/use-mpi-tkr/Makefile.am b/ompi/mpi/fortran/use-mpi-tkr/Makefile.am index d44aa22244f..ddbbc418169 100644 --- a/ompi/mpi/fortran/use-mpi-tkr/Makefile.am +++ b/ompi/mpi/fortran/use-mpi-tkr/Makefile.am @@ -168,14 +168,14 @@ DISTCLEANFILES = $(nodist_lib@OMPI_LIBMPI_NAME@_usempi_la_SOURCES) install-exec-hook: @ for file in `ls *.mod`; do \ - echo $(INSTALL) $$file $(DESTDIR)$(libdir); \ - $(INSTALL) $$file $(DESTDIR)$(libdir); \ + echo $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ + $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ done uninstall-local: @ for file in `ls *.mod`; do \ - echo rm -f $(DESTDIR)$(libdir)/$$file; \ - rm -f $(DESTDIR)$(libdir)/$$file; \ + echo rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ + rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ done # if OMPI_BUILD_FORTRAN_USEMPI_TKR_BINDINGS diff --git a/ompi/mpi/fortran/use-mpi/Makefile.am b/ompi/mpi/fortran/use-mpi/Makefile.am index 3f1bc6b1760..edc2b088ddc 100644 --- a/ompi/mpi/fortran/use-mpi/Makefile.am +++ b/ompi/mpi/fortran/use-mpi/Makefile.am @@ -55,13 +55,13 @@ mpi-types.lo: mpi-types.F90 install-exec-hook: @ for file in `ls *.mod`; do \ - echo $(INSTALL) $$file $(DESTDIR)$(libdir); \ - $(INSTALL) $$file $(DESTDIR)$(libdir); \ + echo $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ + $(INSTALL) $$file $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR); \ done uninstall-local: @ for file in `ls *.mod`; do \ - echo rm -f $(DESTDIR)$(libdir)/$$file; \ - rm -f $(DESTDIR)$(libdir)/$$file; \ + echo rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ + rm -f $(DESTDIR)$(OMPI_FORTRAN_MODULEDIR)/$$file; \ done endif From a72921e79271867615b010e951b367ba6f37690e Mon Sep 17 00:00:00 2001 From: Joseph Schuchart Date: Tue, 2 Jul 2024 09:21:51 -0400 Subject: [PATCH 2/3] Bump workflow actions to node20 Workflows should transition to node20 actions by Spring 2024. See https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/ Signed-off-by: Joseph Schuchart --- .github/workflows/compile-cuda.yaml | 2 +- .github/workflows/compile-rocm.yaml | 2 +- .github/workflows/compile-ze.yaml | 2 +- .github/workflows/ompi_nvidia.yaml | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/compile-cuda.yaml b/.github/workflows/compile-cuda.yaml index 64684a3bd1a..0bddcd3c744 100644 --- a/.github/workflows/compile-cuda.yaml +++ b/.github/workflows/compile-cuda.yaml @@ -18,7 +18,7 @@ jobs: sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update sudo apt install -y cuda-toolkit - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: Build Open MPI diff --git a/.github/workflows/compile-rocm.yaml b/.github/workflows/compile-rocm.yaml index d041bad1d02..2ce2a80f01a 100644 --- a/.github/workflows/compile-rocm.yaml +++ b/.github/workflows/compile-rocm.yaml @@ -21,7 +21,7 @@ jobs: echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600 sudo apt update sudo apt install -y rocm-hip-runtime - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: Build Open MPI diff --git a/.github/workflows/compile-ze.yaml b/.github/workflows/compile-ze.yaml index dcfef7094c6..06e217d49a5 100644 --- a/.github/workflows/compile-ze.yaml +++ b/.github/workflows/compile-ze.yaml @@ -18,7 +18,7 @@ jobs: cd build cmake ../ -DCMAKE_INSTALL_PREFIX=/opt/ze sudo make -j install - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: Build Open MPI diff --git a/.github/workflows/ompi_nvidia.yaml b/.github/workflows/ompi_nvidia.yaml index 38fc1401d87..6a3201a3648 100644 --- a/.github/workflows/ompi_nvidia.yaml +++ b/.github/workflows/ompi_nvidia.yaml @@ -7,11 +7,11 @@ jobs: runs-on: [self-hosted, linux, x64, nvidia] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive - name: Checkout CI scripts - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: repository: Mellanox/jenkins_scripts path: ompi_ci From 5e9ed86eab1a3d14488c1d31995f229c6a6a359d Mon Sep 17 00:00:00 2001 From: Geoffroy Vallee Date: Thu, 17 Nov 2022 10:42:49 -0800 Subject: [PATCH 3/3] Differentiate blocking unblocking collectives in UCC Signed-off-by: Geoffroy Vallee Signed-off-by: George Bosilca --- ompi/mca/coll/ucc/coll_ucc_allgather.c | 1 + ompi/mca/coll/ucc/coll_ucc_allgatherv.c | 1 + ompi/mca/coll/ucc/coll_ucc_allreduce.c | 1 + ompi/mca/coll/ucc/coll_ucc_alltoall.c | 1 + ompi/mca/coll/ucc/coll_ucc_alltoallv.c | 1 + ompi/mca/coll/ucc/coll_ucc_barrier.c | 1 + ompi/mca/coll/ucc/coll_ucc_bcast.c | 1 + ompi/mca/coll/ucc/coll_ucc_common.h | 3 +++ ompi/mca/coll/ucc/coll_ucc_gather.c | 1 + ompi/mca/coll/ucc/coll_ucc_gatherv.c | 2 +- ompi/mca/coll/ucc/coll_ucc_module.c | 2 +- ompi/mca/coll/ucc/coll_ucc_reduce.c | 3 ++- ompi/mca/coll/ucc/coll_ucc_reduce_scatter.c | 1 + ompi/mca/coll/ucc/coll_ucc_reduce_scatter_block.c | 1 + ompi/mca/coll/ucc/coll_ucc_scatter.c | 1 + ompi/mca/coll/ucc/coll_ucc_scatterv.c | 1 + 16 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ompi/mca/coll/ucc/coll_ucc_allgather.c b/ompi/mca/coll/ucc/coll_ucc_allgather.c index 410323c9b10..3312d818bf3 100644 --- a/ompi/mca/coll/ucc/coll_ucc_allgather.c +++ b/ompi/mca/coll/ucc/coll_ucc_allgather.c @@ -34,6 +34,7 @@ static inline ucc_status_t mca_coll_ucc_allgather_init(const void *sbuf, size_t ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_ALLGATHER, .src.info = { .buffer = (void*)sbuf, diff --git a/ompi/mca/coll/ucc/coll_ucc_allgatherv.c b/ompi/mca/coll/ucc/coll_ucc_allgatherv.c index 6cf33a5dd80..a6bb37d235b 100644 --- a/ompi/mca/coll/ucc/coll_ucc_allgatherv.c +++ b/ompi/mca/coll/ucc/coll_ucc_allgatherv.c @@ -31,6 +31,7 @@ static inline ucc_status_t mca_coll_ucc_allgatherv_init(const void *sbuf, int sc ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_ALLGATHERV, .src.info = { .buffer = (void*)sbuf, diff --git a/ompi/mca/coll/ucc/coll_ucc_allreduce.c b/ompi/mca/coll/ucc/coll_ucc_allreduce.c index 5320641cb8b..d44b93df07e 100644 --- a/ompi/mca/coll/ucc/coll_ucc_allreduce.c +++ b/ompi/mca/coll/ucc/coll_ucc_allreduce.c @@ -32,6 +32,7 @@ static inline ucc_status_t mca_coll_ucc_allreduce_init(const void *sbuf, void *r } ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_ALLREDUCE, .src.info = { .buffer = (void*)sbuf, diff --git a/ompi/mca/coll/ucc/coll_ucc_alltoall.c b/ompi/mca/coll/ucc/coll_ucc_alltoall.c index b71f183fac8..275f8d67640 100644 --- a/ompi/mca/coll/ucc/coll_ucc_alltoall.c +++ b/ompi/mca/coll/ucc/coll_ucc_alltoall.c @@ -34,6 +34,7 @@ static inline ucc_status_t mca_coll_ucc_alltoall_init(const void *sbuf, size_t s ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_ALLTOALL, .src.info = { .buffer = (void*)sbuf, diff --git a/ompi/mca/coll/ucc/coll_ucc_alltoallv.c b/ompi/mca/coll/ucc/coll_ucc_alltoallv.c index 75b0dd6b6b7..2dc1a121bf0 100644 --- a/ompi/mca/coll/ucc/coll_ucc_alltoallv.c +++ b/ompi/mca/coll/ucc/coll_ucc_alltoallv.c @@ -31,6 +31,7 @@ static inline ucc_status_t mca_coll_ucc_alltoallv_init(const void *sbuf, const i ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_ALLTOALLV, .src.info_v = { .buffer = (void*)sbuf, diff --git a/ompi/mca/coll/ucc/coll_ucc_barrier.c b/ompi/mca/coll/ucc/coll_ucc_barrier.c index fdbc11b49aa..010ca177fdf 100644 --- a/ompi/mca/coll/ucc/coll_ucc_barrier.c +++ b/ompi/mca/coll/ucc/coll_ucc_barrier.c @@ -14,6 +14,7 @@ static inline ucc_status_t mca_coll_ucc_barrier_init(mca_coll_ucc_module_t *ucc_ { ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_BARRIER }; COLL_UCC_REQ_INIT(coll_req, req, coll, ucc_module); diff --git a/ompi/mca/coll/ucc/coll_ucc_bcast.c b/ompi/mca/coll/ucc/coll_ucc_bcast.c index 425e6869c8e..34296d74b97 100644 --- a/ompi/mca/coll/ucc/coll_ucc_bcast.c +++ b/ompi/mca/coll/ucc/coll_ucc_bcast.c @@ -21,6 +21,7 @@ static inline ucc_status_t mca_coll_ucc_bcast_init(void *buf, size_t count, stru ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_BCAST, .root = root, .src.info = { diff --git a/ompi/mca/coll/ucc/coll_ucc_common.h b/ompi/mca/coll/ucc/coll_ucc_common.h index 5ae034d7ff5..9d9163aa46d 100644 --- a/ompi/mca/coll/ucc/coll_ucc_common.h +++ b/ompi/mca/coll/ucc/coll_ucc_common.h @@ -47,6 +47,9 @@ _coll.mask |= UCC_COLL_ARGS_FIELD_CB; \ _coll.cb.cb = mca_coll_ucc_completion; \ _coll.cb.data = (void*)_coll_req; \ + } else { \ + _coll.mask |= UCC_COLL_ARGS_FIELD_FLAGS; \ + _coll.flags |= UCC_COLL_ARGS_HINT_OPTIMIZE_LATENCY; \ } \ COLL_UCC_CHECK(ucc_collective_init(&_coll, _req, \ _module->ucc_team)); \ diff --git a/ompi/mca/coll/ucc/coll_ucc_gather.c b/ompi/mca/coll/ucc/coll_ucc_gather.c index 13ab7c3fb20..2b4b2e05474 100644 --- a/ompi/mca/coll/ucc/coll_ucc_gather.c +++ b/ompi/mca/coll/ucc/coll_ucc_gather.c @@ -47,6 +47,7 @@ ucc_status_t mca_coll_ucc_gather_init(const void *sbuf, size_t scount, struct om ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_GATHER, .root = root, .src.info = { diff --git a/ompi/mca/coll/ucc/coll_ucc_gatherv.c b/ompi/mca/coll/ucc/coll_ucc_gatherv.c index 81474d0c38a..74db288ee17 100644 --- a/ompi/mca/coll/ucc/coll_ucc_gatherv.c +++ b/ompi/mca/coll/ucc/coll_ucc_gatherv.c @@ -19,7 +19,6 @@ static inline ucc_status_t mca_coll_ucc_gatherv_init(const void *sbuf, int scoun { ucc_datatype_t ucc_sdt, ucc_rdt; int comm_rank = ompi_comm_rank(ucc_module->comm); - int comm_size = ompi_comm_size(ucc_module->comm); ucc_sdt = ompi_dtype_to_ucc_dtype(sdtype); if (comm_rank == root) { @@ -41,6 +40,7 @@ static inline ucc_status_t mca_coll_ucc_gatherv_init(const void *sbuf, int scoun ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_GATHERV, .root = root, .src.info = { diff --git a/ompi/mca/coll/ucc/coll_ucc_module.c b/ompi/mca/coll/ucc/coll_ucc_module.c index 8860bb0ba2c..3916650b949 100644 --- a/ompi/mca/coll/ucc/coll_ucc_module.c +++ b/ompi/mca/coll/ucc/coll_ucc_module.c @@ -93,7 +93,7 @@ static void mca_coll_ucc_module_construct(mca_coll_ucc_module_t *ucc_module) mca_coll_ucc_module_clear(ucc_module); } -int mca_coll_ucc_progress(void) +static int mca_coll_ucc_progress(void) { ucc_context_progress(mca_coll_ucc_component.ucc_context); return OPAL_SUCCESS; diff --git a/ompi/mca/coll/ucc/coll_ucc_reduce.c b/ompi/mca/coll/ucc/coll_ucc_reduce.c index c37be5413ff..97b5d424ccf 100644 --- a/ompi/mca/coll/ucc/coll_ucc_reduce.c +++ b/ompi/mca/coll/ucc/coll_ucc_reduce.c @@ -31,7 +31,8 @@ static inline ucc_status_t mca_coll_ucc_reduce_init(const void *sbuf, void *rbuf goto fallback; } ucc_coll_args_t coll = { - .mask = 0, + .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_REDUCE, .root = root, .src.info = { diff --git a/ompi/mca/coll/ucc/coll_ucc_reduce_scatter.c b/ompi/mca/coll/ucc/coll_ucc_reduce_scatter.c index 5cc6fa6fc61..15771e48f1b 100644 --- a/ompi/mca/coll/ucc/coll_ucc_reduce_scatter.c +++ b/ompi/mca/coll/ucc/coll_ucc_reduce_scatter.c @@ -48,6 +48,7 @@ ucc_status_t mca_coll_ucc_reduce_scatter_init(const void *sbuf, void *rbuf, cons ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_REDUCE_SCATTERV, .src.info = { .buffer = (void*)sbuf, diff --git a/ompi/mca/coll/ucc/coll_ucc_reduce_scatter_block.c b/ompi/mca/coll/ucc/coll_ucc_reduce_scatter_block.c index 2bcec6c6528..781776e42ca 100644 --- a/ompi/mca/coll/ucc/coll_ucc_reduce_scatter_block.c +++ b/ompi/mca/coll/ucc/coll_ucc_reduce_scatter_block.c @@ -42,6 +42,7 @@ ucc_status_t mca_coll_ucc_reduce_scatter_block_init(const void *sbuf, void *rbuf } ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_REDUCE_SCATTER, .src.info = { .buffer = (void*)sbuf, diff --git a/ompi/mca/coll/ucc/coll_ucc_scatter.c b/ompi/mca/coll/ucc/coll_ucc_scatter.c index 1cda93a1145..55351b8151b 100644 --- a/ompi/mca/coll/ucc/coll_ucc_scatter.c +++ b/ompi/mca/coll/ucc/coll_ucc_scatter.c @@ -42,6 +42,7 @@ ucc_status_t mca_coll_ucc_scatter_init(const void *sbuf, size_t scount, ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_SCATTER, .root = root, .src.info = { diff --git a/ompi/mca/coll/ucc/coll_ucc_scatterv.c b/ompi/mca/coll/ucc/coll_ucc_scatterv.c index b731850fabe..b478df7fb11 100644 --- a/ompi/mca/coll/ucc/coll_ucc_scatterv.c +++ b/ompi/mca/coll/ucc/coll_ucc_scatterv.c @@ -43,6 +43,7 @@ ucc_status_t mca_coll_ucc_scatterv_init(const void *sbuf, const int *scounts, ucc_coll_args_t coll = { .mask = 0, + .flags = 0, .coll_type = UCC_COLL_TYPE_SCATTERV, .root = root, .src.info_v = {