Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: sicm refresh #3

Open
wants to merge 46 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
a7dcfd9
btl/ofi: Disable EFA provider in versions earlier than libfabric 1.12.0
wckzhang Jul 28, 2020
41acfee
btl/ofi: Disable ofi_rxm provider
wckzhang Aug 11, 2020
f3832c1
Merge pull request #7973 from wckzhang/btlexclude
bwbarrett Aug 12, 2020
1e11933
ompi: cleanup C++ MPI::ERRORS_THROW_EXCEPTIONS
jsquyres Aug 17, 2020
20c772e
Cleanup language about MPI exceptions --> errors
jsquyres Aug 17, 2020
bf4e1b4
Merge pull request #8008 from jsquyres/pr/cleanup-of-mpi-errors-and-e…
jsquyres Aug 17, 2020
e6f81ed
ofi mtl: fix problem with mrecv
hppritcha Aug 18, 2020
eefaadf
Merge pull request #8012 from hppritcha/topic/mprobe_with_ofi_fix
hppritcha Aug 18, 2020
6df0e53
suppress icc long double message
hppritcha Aug 19, 2020
fe73586
Add ADAPT module
dycz0fx Jun 25, 2018
a4be3bb
Coll/adapt Bull (#15)
May 6, 2020
d712645
Fix the atomic management of the bcast and reduce freelist
bosilca May 7, 2020
8582e10
Consistent handling of zero counts in the MPI API.
bosilca May 7, 2020
c2970a3
Correctly handle non-blocking collectives tags
bosilca May 8, 2020
e59bde9
Remove the code handling zero count cases in ADAPT.
dycz0fx May 8, 2020
ee592f3
Address the comments on the PR.
bosilca Jul 23, 2020
57b95bc
coll/tuned: Revert RSB and RS default algorithms
wckzhang Aug 25, 2020
b1874e4
Merge pull request #8019 from wckzhang/rsbandrsfix
bwbarrett Aug 25, 2020
d6ac41c
OFI: patch OFI MTL for GNI provider
hppritcha Aug 13, 2020
8727e98
Merge pull request #8015 from hppritcha/topic/squash_icc_no_log_warning
jsquyres Aug 26, 2020
c1c71b2
Merge pull request #8002 from hppritcha/topic/ofi_gni_prov_patch_for_mtl
hppritcha Aug 26, 2020
4df5fcf
errors_are_fatal_comm_handler takes a pointer to the error constant as
abouteiller Aug 26, 2020
2b62a2b
Merge pull request #8023 from abouteiller/bugfix/ob1_err_abort
bosilca Aug 29, 2020
4d42034
Fix MPI versions in MPI.3 manpage
devreal Aug 31, 2020
c17968c
Merge pull request #8028 from devreal/fix-mpi3-manpage
jsquyres Aug 31, 2020
556a4ac
btl: remove unused descriptor flags
hjelmn Aug 31, 2020
01dcc39
Merge pull request #8031 from hjelmn/some_btl_interface_cleanup
hjelmn Aug 31, 2020
560ebc5
Merge pull request #7716 from bosilca/coll/adapt
jsquyres Sep 1, 2020
fc025c7
UCX: do not dereference NULL pointer in wpmem_[free|flush]
devreal Sep 4, 2020
43e3add
Merge pull request #8035 from devreal/osc-ucx-fix-win-dynamic-segfault
devreal Sep 4, 2020
b78c7e9
Use correct conditional variable initializer in opal/mca/pmix/base
devreal Sep 9, 2020
7fce2f3
update MPI_F08_status type
ggouaillardet Jul 21, 2020
466a2b3
configury: cleanup .mod file
ggouaillardet Jul 22, 2020
e97d3ce
Add missing MPI_Status conversion subroutines
ggouaillardet Jul 21, 2020
c04dc35
mpi/man: convert MPI_Status conversion man pages to Markdown
jsquyres Sep 8, 2020
1b0dfcd
Merge pull request #7762 from ggouaillardet/topic/mpi_status_f08_c
jsquyres Sep 10, 2020
49da998
Fix a copy/paste in the RDMA emulation.
bosilca Sep 14, 2020
fb8bfcc
mpif-h: fix a typo in MPI_Status_f2f08()
ggouaillardet Sep 14, 2020
d5791b2
Merge pull request #8043 from ggouaillardet/topic/status_f2f08
jsquyres Sep 14, 2020
3a93e4f
Merge pull request #8038 from devreal/fix-opal-pmix-cond-init
jsquyres Sep 14, 2020
eca00a7
Merge pull request #8042 from bosilca/fix/sm_emu
bosilca Sep 14, 2020
8384bc3
First complete implementation of the SICM support
gvallee Aug 28, 2018
6969b99
add arg for sicm_arena_create() and fix header
naughtont3 Aug 11, 2020
473be48
mpool/sicm: fixes for multi-module and verbose output
naughtont3 Oct 10, 2020
8052563
mpool/base: add testing envvar OMPIX_MPOOL_NO_FALLBACK
naughtont3 Oct 10, 2020
e0f5c75
mpool/sicm: debug macros DBG_ENTER/DBG_EXIT for tracing
naughtont3 Oct 10, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions config/ompi_config_files.m4
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# -*- shell-script -*-
#
# Copyright (c) 2009-2020 Cisco Systems, Inc. All rights reserved
# Copyright (c) 2017-2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2017-2020 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2018 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
Expand All @@ -29,6 +29,8 @@ AC_DEFUN([OMPI_CONFIG_FILES],[
ompi/mpi/fortran/base/Makefile
ompi/mpi/fortran/mpif-h/Makefile
ompi/mpi/fortran/mpif-h/profile/Makefile
ompi/mpi/fortran/use-mpi/Makefile
ompi/mpi/fortran/use-mpi/mpi-types.F90
ompi/mpi/fortran/use-mpi-tkr/Makefile
ompi/mpi/fortran/use-mpi-tkr/fortran_sizes.h
ompi/mpi/fortran/use-mpi-tkr/fortran_kinds.sh
Expand Down
3 changes: 3 additions & 0 deletions config/ompi_fortran_check_bind_c.m4
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ dnl University of Stuttgart. All rights reserved.
dnl Copyright (c) 2004-2005 The Regents of the University of California.
dnl All rights reserved.
dnl Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2020 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
Expand Down Expand Up @@ -83,6 +85,7 @@ AC_DEFUN([OMPI_FORTRAN_CHECK_BIND_C_TYPE],[
end module]])],
[AS_VAR_SET(bind_c_type_var, yes)],
[AS_VAR_SET(bind_c_type_var, no)])
rm -rf *.mod 2>/dev/null
AC_LANG_POP([Fortran])
])

Expand Down
43 changes: 28 additions & 15 deletions config/ompi_setup_mpi_fortran.m4
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ dnl Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved.
dnl Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights
dnl reserved.
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
dnl Copyright (c) 2014-2019 Research Organization for Information Science
dnl Copyright (c) 2014-2020 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl Copyright (c) 2016 IBM Corporation. All rights reserved.
dnl Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
Expand Down Expand Up @@ -276,6 +276,9 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
OMPI_FORTRAN_STATUS_SIZE=$num_ints
AC_MSG_RESULT([$OMPI_FORTRAN_STATUS_SIZE Fortran INTEGERs])
AC_SUBST(OMPI_FORTRAN_STATUS_SIZE)
AC_DEFINE_UNQUOTED([OMPI_FORTRAN_STATUS_SIZE],
[$OMPI_FORTRAN_STATUS_SIZE],
[The number or Fortran INTEGER in MPI Status])

# Setup for the compilers that don't support ignore TKR functionality
OPAL_UNIQ(OMPI_FORTRAN_IKINDS)
Expand Down Expand Up @@ -384,6 +387,18 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
[OMPI_TRY_FORTRAN_BINDINGS=$OMPI_FORTRAN_MPIFH_BINDINGS
AC_MSG_RESULT([no])])

OMPI_FORTRAN_HAVE_BIND_C_TYPE=0
OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS=0

AS_IF([test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS],
[OMPI_FORTRAN_CHECK_BIND_C_TYPE(
[OMPI_FORTRAN_HAVE_BIND_C_TYPE=1
OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS=1])])

AC_SUBST(OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS)
AM_CONDITIONAL(OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS,
[test $OMPI_FORTRAN_HAVE_TYPE_MPI_STATUS -eq 1])

#---------------------------------
# Fortran use mpi_f08 MPI bindings
#---------------------------------
Expand Down Expand Up @@ -419,14 +434,11 @@ AC_DEFUN([OMPI_SETUP_MPI_FORTRAN],[
[OMPI_FORTRAN_HAVE_BIND_C_SUB=0
OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS])])

OMPI_FORTRAN_HAVE_BIND_C_TYPE=0
AS_IF([test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \
test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS],
[ # If we don't have TYPE, BIND(C), we won't build mpi_f08 at all
OMPI_FORTRAN_CHECK_BIND_C_TYPE(
[OMPI_FORTRAN_HAVE_BIND_C_TYPE=1],
[OMPI_FORTRAN_HAVE_BIND_C_TYPE=0
OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS])])
AS_IF([test $OMPI_FORTRAN_HAVE_BIND_C_TYPE -ne 1],
[OMPI_BUILD_FORTRAN_BINDINGS=$OMPI_FORTRAN_USEMPI_BINDINGS])])

# Per discussion on the devel list starting here:
# https://www.open-mpi.org/community/lists/devel/2014/01/13799.php
Expand Down Expand Up @@ -698,6 +710,16 @@ end type test_mpi_handle],
AM_CONDITIONAL(OMPI_BUILD_FORTRAN_USEMPI_IGNORE_TKR_BINDINGS,
[test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPI_BINDINGS && \
test $OMPI_FORTRAN_HAVE_IGNORE_TKR -eq 1])
# True if we support TYPE, BIND(C)
AC_DEFINE_UNQUOTED(OMPI_FORTRAN_HAVE_BIND_C_TYPE,
[$OMPI_FORTRAN_HAVE_BIND_C_TYPE],
[For ompi_info: Whether the compiler supports TYPE, BIND(C) or not])

# For mpif-status.h, configure-fortran-output.h, mpi-f08-types.F90 (and ompi_info)
AC_SUBST([OMPI_FORTRAN_HAVE_PRIVATE])
AC_DEFINE_UNQUOTED([OMPI_FORTRAN_HAVE_PRIVATE],
[$OMPI_FORTRAN_HAVE_PRIVATE],
[For mpif-status.h, mpi-f08-types.f90 and ompi_info: whether the compiler supports the "private" keyword or not (used in TYPE(MPI_Status))])

# -------------------
# use mpi_f08 final setup
Expand Down Expand Up @@ -746,22 +768,13 @@ end type test_mpi_handle],
AC_DEFINE_UNQUOTED(OMPI_FORTRAN_HAVE_BIND_C_SUB,
[$OMPI_FORTRAN_HAVE_BIND_C_SUB],
[For ompi_info: Whether the compiler supports SUBROUTINE ... BIND(C) or not])
AC_DEFINE_UNQUOTED(OMPI_FORTRAN_HAVE_BIND_C_TYPE,
[$OMPI_FORTRAN_HAVE_BIND_C_TYPE],
[For ompi_info: Whether the compiler supports TYPE, BIND(C) or not])
AC_DEFINE_UNQUOTED(OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME,
[$OMPI_FORTRAN_HAVE_BIND_C_TYPE_NAME],
[For ompi_info: Whether the compiler supports TYPE, BIND(C, NAME="name") or not])
AC_DEFINE_UNQUOTED([OMPI_FORTRAN_HAVE_OPTIONAL_ARGS],
[$OMPI_FORTRAN_HAVE_OPTIONAL_ARGS],
[For ompi_info: whether the Fortran compiler supports optional arguments or not])

# For configure-fortran-output.h, mpi-f08-types.F90 (and ompi_info)
AC_SUBST([OMPI_FORTRAN_HAVE_PRIVATE])
AC_DEFINE_UNQUOTED([OMPI_FORTRAN_HAVE_PRIVATE],
[$OMPI_FORTRAN_HAVE_PRIVATE],
[For mpi-f08-types.f90 and ompi_info: whether the compiler supports the "private" keyword or not (used in MPI_Status)])

# For configure-fortran-output.h, mpi-f08-interfaces-callbacks.F90
# (and ompi_info)
AC_SUBST([OMPI_FORTRAN_HAVE_ABSTRACT])
Expand Down
5 changes: 4 additions & 1 deletion config/opal_setup_cc.m4
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ dnl Copyright (c) 2012-2017 Los Alamos National Security, LLC. All rights
dnl reserved.
dnl Copyright (c) 2015-2019 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl Copyright (c) 2020 Triad National Security, LLC. All rights
dnl reserved.
dnl
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
Expand Down Expand Up @@ -328,7 +331,7 @@ AC_DEFUN([OPAL_SETUP_CC],[
opal_cv_cc_wno_long_double="yes"
if test -s conftest.err ; then
dnl Yes, it should be "ignor", in order to catch ignoring and ignore
for i in unknown invalid ignor unrecognized ; do
for i in unknown invalid ignor unrecognized 'not supported'; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv_cc_wno_long_double="no"
Expand Down
5 changes: 4 additions & 1 deletion config/opal_setup_cxx.m4
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ dnl Copyright (c) 2007-2009 Sun Microsystems, Inc. All rights reserved.
dnl Copyright (c) 2008-2013 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2015-2016 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl Copyright (c) 2020 Triad National Security, LLC. All rights
dnl reserved.
dnl
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
Expand Down Expand Up @@ -145,7 +148,7 @@ AC_DEFUN([_OPAL_SETUP_CXX_COMPILER_BACKEND],[
opal_cv_cxx_wno_long_double="yes"
if test -s conftest.err ; then
dnl Yes, it should be "ignor", in order to catch ignoring and ignore
for i in unknown invalid ignor unrecognized ; do
for i in unknown invalid ignor unrecognized 'not supported'; do
$GREP -iq $i conftest.err
if test "$?" = "0" ; then
opal_cv_cxx_wno_long_double="no"
Expand Down
6 changes: 4 additions & 2 deletions ompi/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
# Copyright (c) 2013-2015 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2015-2019 Intel, Inc. All rights reserved.
# Copyright (c) 2015-2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2015-2020 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2016 IBM Corporation. All rights reserved.
# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
# $COPYRIGHT$
Expand Down Expand Up @@ -88,6 +88,7 @@ SUBDIRS = \
. \
$(OMPI_MPIEXT_MPIFH_DIRS) \
mpi/fortran/mpif-h \
mpi/fortran/use-mpi \
$(OMPI_MPIEXT_USEMPI_DIR) \
$(OMPI_FORTRAN_USEMPI_DIR) \
mpi/fortran/mpiext-use-mpi \
Expand Down Expand Up @@ -121,6 +122,7 @@ DIST_SUBDIRS = \
mpi/tool \
mpi/fortran/base \
mpi/fortran/mpif-h \
mpi/fortran/use-mpi \
mpi/fortran/use-mpi-tkr \
mpi/fortran/use-mpi-ignore-tkr \
mpi/fortran/mpiext-use-mpi \
Expand Down
4 changes: 3 additions & 1 deletion ompi/communicator/comm_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
#include "ompi/constants.h"
#include "ompi/mca/pml/pml.h"
#include "ompi/mca/coll/base/base.h"
#include "ompi/mca/coll/base/coll_tags.h"
#include "ompi/mca/topo/base/base.h"
#include "ompi/runtime/params.h"
#include "ompi/communicator/communicator.h"
Expand Down Expand Up @@ -382,6 +383,7 @@ static void ompi_comm_construct(ompi_communicator_t* comm)
comm->c_pml_comm = NULL;
comm->c_topo = NULL;
comm->c_coll = NULL;
comm->c_nbc_tag = MCA_COLL_BASE_TAG_NONBLOCKING_BASE;

/* A keyhash will be created if/when an attribute is cached on
this communicator */
Expand Down Expand Up @@ -419,7 +421,7 @@ static void ompi_comm_destruct(ompi_communicator_t* comm)
from one communicator to another and we end up destroying the
new communication while propagating the error up the stack. We
want to make it all the way up the stack to invoke the MPI
exception, not cause a seg fault in pml_del_comm because it was
error, not cause a seg fault in pml_del_comm because it was
never pml_add_com'ed. */

if ( MPI_COMM_NULL != comm && OMPI_COMM_IS_PML_ADDED(comm) ) {
Expand Down
9 changes: 8 additions & 1 deletion ompi/communicator/communicator.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2017 The University of Tennessee and The University
* Copyright (c) 2004-2020 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
Expand Down Expand Up @@ -187,6 +187,13 @@ struct ompi_communicator_t {

/* Collectives module interface and data */
mca_coll_base_comm_coll_t *c_coll;

/* Non-blocking collective tag. These tags might be shared between
* all non-blocking collective modules (to avoid message collision
* between them in the case where multiple outstanding non-blocking
* collective coexists using multiple backends).
*/
opal_atomic_int32_t c_nbc_tag;
};
typedef struct ompi_communicator_t ompi_communicator_t;

Expand Down
2 changes: 0 additions & 2 deletions ompi/debuggers/ompi_mpihandles_dll.c
Original file line number Diff line number Diff line change
Expand Up @@ -390,8 +390,6 @@ int mpidbg_init_per_process(mqs_process *process,
&mpidbg_errhandler_name_map[i++]);
fill_map(image, "MPI_ERRHANDLER_NULL", "ompi_mpi_errhandler_null",
&mpidbg_errhandler_name_map[i++]);
/* MPI::ERRORS_THROW_EXCEPTIONS exists as a symbol in OMPI; no
need to alias it here */

/* Sentinel value */
mpidbg_errhandler_name_map[i].map_name = NULL;
Expand Down
24 changes: 0 additions & 24 deletions ompi/errhandler/errhandler.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,6 @@ ompi_predefined_errhandler_t *ompi_mpi_errors_abort_addr =
ompi_predefined_errhandler_t ompi_mpi_errors_return = {{{0}}};
ompi_predefined_errhandler_t *ompi_mpi_errors_return_addr =
&ompi_mpi_errors_return;
ompi_predefined_errhandler_t ompi_mpi_errors_throw_exceptions = {{{0}}};
ompi_predefined_errhandler_t *ompi_mpi_errors_throw_exceptions_addr =
&ompi_mpi_errors_throw_exceptions;

static opal_mutex_t errhandler_init_lock = OPAL_MUTEX_STATIC_INIT;
ompi_errhandler_t* ompi_initial_error_handler_eh = NULL;
Expand Down Expand Up @@ -192,26 +189,6 @@ int ompi_errhandler_init(void)
"MPI_ERRORS_ABORT",
sizeof(ompi_mpi_errors_abort.eh.eh_name));

/* If we're going to use C++, functions will be fixed up during
MPI::Init. Note that it is proper to use ERRHANDLER_LANG_C here;
the dispatch function is in C (although in libmpi_cxx); the
conversion from C handles to C++ handles happens in that dispatch
function -- not the errhandler_invoke.c stuff here in libmpi. */
OBJ_CONSTRUCT( &ompi_mpi_errors_throw_exceptions.eh, ompi_errhandler_t );
ompi_mpi_errors_throw_exceptions.eh.eh_mpi_object_type =
OMPI_ERRHANDLER_TYPE_PREDEFINED;
ompi_mpi_errors_throw_exceptions.eh.eh_lang = OMPI_ERRHANDLER_LANG_C;
ompi_mpi_errors_throw_exceptions.eh.eh_comm_fn =
ompi_mpi_errors_are_fatal_comm_handler;
ompi_mpi_errors_throw_exceptions.eh.eh_file_fn =
ompi_mpi_errors_are_fatal_file_handler;
ompi_mpi_errors_throw_exceptions.eh.eh_win_fn =
ompi_mpi_errors_are_fatal_win_handler ;
ompi_mpi_errors_throw_exceptions.eh.eh_fort_fn = NULL;
opal_string_copy(ompi_mpi_errors_throw_exceptions.eh.eh_name,
"MPI_ERRORS_THROW_EXCEPTIONS",
sizeof(ompi_mpi_errors_throw_exceptions.eh.eh_name));

/* Lets initialize the initial error handler if not already done */
char *env = getenv("OMPI_MCA_mpi_initial_errhandler");
if( NULL != env ) {
Expand All @@ -228,7 +205,6 @@ int ompi_errhandler_finalize(void)
{
OBJ_DESTRUCT(&ompi_mpi_errhandler_null.eh);
OBJ_DESTRUCT(&ompi_mpi_errors_return.eh);
OBJ_DESTRUCT(&ompi_mpi_errors_throw_exceptions.eh);
OBJ_DESTRUCT(&ompi_mpi_errors_are_fatal.eh);

/* JMS Add stuff here checking for unreleased errorhandlers,
Expand Down
10 changes: 2 additions & 8 deletions ompi/errhandler/errhandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -175,12 +175,6 @@ OMPI_DECLSPEC extern ompi_predefined_errhandler_t *ompi_mpi_errors_return_addr;
OMPI_DECLSPEC extern ompi_predefined_errhandler_t ompi_mpi_errors_abort;
OMPI_DECLSPEC extern ompi_predefined_errhandler_t *ompi_mpi_errors_abort_addr;

/**
* Global variable for MPI::ERRORS_THROW_EXCEPTIONS. Will abort if
* MPI_INIT wasn't called as MPI::INIT (_addr flavor is for F03 bindings)
*/
OMPI_DECLSPEC extern ompi_predefined_errhandler_t ompi_mpi_errors_throw_exceptions;

/**
* Table for Fortran <-> C errhandler handle conversion
*/
Expand Down Expand Up @@ -387,7 +381,7 @@ struct ompi_request_t;
*
* @returns err_code The same value as the parameter
*
* This function invokes the MPI exception function on the error
* This function invokes the MPI error function on the error
* handler. If the errhandler was created from fortran, the error
* handler will be invoked with fortran linkage. Otherwise, it is
* invoked with C linkage.
Expand All @@ -400,7 +394,7 @@ struct ompi_request_t;


/**
* Invoke an MPI exception on the first request found in the array
* Invoke an MPI error on the first request found in the array
* that has a non-MPI_SUCCESS value for MPI_ERROR in its status. It
* is safe to invoke this function if none of the requests have an
* outstanding error; MPI_SUCCESS will be returned.
Expand Down
8 changes: 4 additions & 4 deletions ompi/errhandler/errhandler_invoke.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ int ompi_errhandler_request_invoke(int count,
ompi_mpi_object_t mpi_object;

/* Find the *first* request that has an error -- that's the one
that we'll invoke the exception on. In an error condition, the
that we'll invoke the error on. In an error condition, the
request will not have been reset back to MPI_REQUEST_NULL, so
there's no need to cache values from before we call
ompi_request_test(). */
Expand All @@ -162,18 +162,18 @@ int ompi_errhandler_request_invoke(int count,

/* Since errors on requests cause them to not be freed (until we
can examine them here), go through and free all requests with
errors. We only invoke the exception on the *first* request
errors. We only invoke the error on the *first* request
that had an error. */
for (; i < count; ++i) {
if (MPI_REQUEST_NULL != requests[i] &&
MPI_SUCCESS != requests[i]->req_status.MPI_ERROR) {
/* Ignore the error -- what are we going to do? We're
already going to invoke an exception */
already going to invoke an error */
ompi_request_free(&(requests[i]));
}
}

/* Invoke the exception */
/* Invoke the error */
switch (type) {
case OMPI_REQUEST_PML:
case OMPI_REQUEST_COLL:
Expand Down
Loading