openmpi  3.1.6
About: Open MPI is a high performance Message Passing Interface (MPI) library project combining technologies and resources from several other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to build the best MPI library available. 3.x series.
  Fossies Dox: openmpi-3.1.6.tar.bz2  ("unofficial" and yet experimental doxygen-generated source code documentation)  

errhandler.h File Reference
Include dependency graph for errhandler.h:

Go to the source code of this file.

Data Structures

struct  ompi_errhandler_t
 Back-end type for MPI_Errorhandler. More...
 
struct  ompi_predefined_errhandler_t
 
struct  ompi_errhandler_errtrk_t
 Callback function to alert the MPI layer of an error or notification from the internal RTE and/or the resource manager. More...
 

Macros

#define PREDEFINED_ERRHANDLER_PAD   1024
 Padded struct to maintain back compatibiltiy. More...
 
#define OMPI_ERR_INIT_FINALIZE(name)
 This is the macro to check the state of MPI and determine whether it was properly initialized and not yet finalized. More...
 
#define OMPI_ERRHANDLER_INVOKE(mpi_object, err_code, message)
 This is the macro to invoke to directly invoke an MPI error handler. More...
 
#define OMPI_ERRHANDLER_CHECK(rc, mpi_object, err_code, message)
 Conditionally invoke an MPI error handler. More...
 
#define OMPI_ERRHANDLER_RETURN(rc, mpi_object, err_code, message)
 Conditionally invoke an MPI error handler; if there is no error, return MPI_SUCCESS. More...
 

Typedefs

typedef void() ompi_errhandler_fortran_handler_fn_t(ompi_fortran_integer_t *, ompi_fortran_integer_t *,...)
 Typedef for all fortran errhandler functions. More...
 
typedef void() ompi_errhandler_generic_handler_fn_t(void *, int *,...)
 Typedef for generic errhandler function. More...
 
typedef enum ompi_errhandler_lang_t ompi_errhandler_lang_t
 
typedef enum ompi_errhandler_type_t ompi_errhandler_type_t
 
typedef void() ompi_errhandler_cxx_dispatch_fn_t(void *handle, int *err_code, const char *message, ompi_errhandler_generic_handler_fn_t *fn)
 C++ invocation function signature. More...
 
typedef struct ompi_errhandler_t ompi_errhandler_t
 
typedef struct ompi_predefined_errhandler_t ompi_predefined_errhandler_t
 

Enumerations

enum  {
  MQS_INTERFACE_COMPATIBILITY = 2, OMPI_ERRHANDLER_NULL_FORTRAN = 0, OMPI_ERRORS_ARE_FATAL_FORTRAN, OMPI_ERRORS_RETURN_FORTRAN,
  OMPI_SUCCESS = OPAL_SUCCESS, OMPI_ERROR = OPAL_ERROR, OMPI_ERR_OUT_OF_RESOURCE = OPAL_ERR_OUT_OF_RESOURCE, OMPI_ERR_TEMP_OUT_OF_RESOURCE = OPAL_ERR_TEMP_OUT_OF_RESOURCE,
  OMPI_ERR_RESOURCE_BUSY = OPAL_ERR_RESOURCE_BUSY, OMPI_ERR_BAD_PARAM = OPAL_ERR_BAD_PARAM, OMPI_ERR_FATAL = OPAL_ERR_FATAL, OMPI_ERR_NOT_IMPLEMENTED = OPAL_ERR_NOT_IMPLEMENTED,
  OMPI_ERR_NOT_SUPPORTED = OPAL_ERR_NOT_SUPPORTED, OMPI_ERR_INTERUPTED = OPAL_ERR_INTERRUPTED, OMPI_ERR_WOULD_BLOCK = OPAL_ERR_WOULD_BLOCK, OMPI_ERR_IN_ERRNO = OPAL_ERR_IN_ERRNO,
  OMPI_ERR_UNREACH = OPAL_ERR_UNREACH, OMPI_ERR_NOT_FOUND = OPAL_ERR_NOT_FOUND, OMPI_EXISTS = OPAL_EXISTS, OMPI_ERR_TIMEOUT = OPAL_ERR_TIMEOUT,
  OMPI_ERR_NOT_AVAILABLE = OPAL_ERR_NOT_AVAILABLE, OMPI_ERR_PERM = OPAL_ERR_PERM, OMPI_ERR_VALUE_OUT_OF_BOUNDS = OPAL_ERR_VALUE_OUT_OF_BOUNDS, OMPI_ERR_FILE_READ_FAILURE = OPAL_ERR_FILE_READ_FAILURE,
  OMPI_ERR_FILE_WRITE_FAILURE = OPAL_ERR_FILE_WRITE_FAILURE, OMPI_ERR_FILE_OPEN_FAILURE = OPAL_ERR_FILE_OPEN_FAILURE, OMPI_ERR_PACK_MISMATCH = OPAL_ERR_PACK_MISMATCH, OMPI_ERR_PACK_FAILURE = OPAL_ERR_PACK_FAILURE,
  OMPI_ERR_UNPACK_FAILURE = OPAL_ERR_UNPACK_FAILURE, OMPI_ERR_TYPE_MISMATCH = OPAL_ERR_TYPE_MISMATCH, OMPI_ERR_UNKNOWN_DATA_TYPE = OPAL_ERR_UNKNOWN_DATA_TYPE, OMPI_ERR_DATA_TYPE_REDEF = OPAL_ERR_DATA_TYPE_REDEF,
  OMPI_ERR_DATA_OVERWRITE_ATTEMPT = OPAL_ERR_DATA_OVERWRITE_ATTEMPT, OMPI_ERR_BUFFER = OPAL_ERR_BUFFER, OMPI_ERR_SILENT = OPAL_ERR_SILENT, OMPI_ERR_HANDLERS_COMPLETE = OPAL_ERR_HANDLERS_COMPLETE,
  OMPI_ERR_REQUEST = ( 0 - 100) - 1, OMPI_ERR_RMA_SYNC = ( 0 - 100) - 2, OMPI_ERR_RMA_SHARED = ( 0 - 100) - 3, OMPI_ERR_RMA_ATTACH = ( 0 - 100) - 4,
  OMPI_ERR_RMA_RANGE = ( 0 - 100) - 5, OMPI_ERR_RMA_CONFLICT = ( 0 - 100) - 6, OMPI_ERR_WIN = ( 0 - 100) - 7, OMPI_ERR_RMA_FLAVOR = ( 0 - 100) - 8,
  MCA_COLL_CONVERTOR_NULL = 0, MCA_COLL_FCA_CONV_SEND, MCA_COLL_FCA_CONV_RECV, REGINT_NEG_ONE_OK = 0x01,
  REGINT_GE_ZERO = 0x02, REGINT_GE_ONE = 0x04, REGINT_NONZERO = 0x08, REGINT_MAX = 0x88,
  TRY_FIND_DERIVED, NO_DERIVED, GPFSMPIO_CIO_DATA_SIZE =0, GPFSMPIO_CIO_T_SEEK,
  GPFSMPIO_CIO_T_LCOMP, GPFSMPIO_CIO_T_GATHER, GPFSMPIO_CIO_T_PATANA, GPFSMPIO_CIO_T_FD_PART,
  GPFSMPIO_CIO_T_MYREQ, GPFSMPIO_CIO_T_OTHREQ, GPFSMPIO_CIO_T_DEXCH, GPFSMPIO_CIO_T_DEXCH_RECV_EXCH,
  GPFSMPIO_CIO_T_DEXCH_SETUP, GPFSMPIO_CIO_T_DEXCH_NET, GPFSMPIO_CIO_T_DEXCH_SORT, GPFSMPIO_CIO_T_DEXCH_SIEVE,
  GPFSMPIO_CIO_T_POSI_RW, GPFSMPIO_CIO_B_POSI_RW, GPFSMPIO_CIO_T_MPIO_RW, GPFSMPIO_CIO_B_MPIO_RW,
  GPFSMPIO_CIO_T_MPIO_CRW, GPFSMPIO_CIO_B_MPIO_CRW, GPFSMPIO_CIO_LAST, ADIOI_HINT_AUTO = 0,
  ADIOI_HINT_ENABLE = 1, ADIOI_HINT_DISABLE = 2, MTL_OFI_PROG_AUTO =1, MTL_OFI_PROG_MANUAL,
  MTL_OFI_PROG_UNSPEC, OMPI_OP_BASE_TYPE_INT8_T, OMPI_OP_BASE_TYPE_UINT8_T, OMPI_OP_BASE_TYPE_INT16_T,
  OMPI_OP_BASE_TYPE_UINT16_T, OMPI_OP_BASE_TYPE_INT32_T, OMPI_OP_BASE_TYPE_UINT32_T, OMPI_OP_BASE_TYPE_INT64_T,
  OMPI_OP_BASE_TYPE_UINT64_T, OMPI_OP_BASE_TYPE_INTEGER, OMPI_OP_BASE_TYPE_INTEGER1, OMPI_OP_BASE_TYPE_INTEGER2,
  OMPI_OP_BASE_TYPE_INTEGER4, OMPI_OP_BASE_TYPE_INTEGER8, OMPI_OP_BASE_TYPE_INTEGER16, OMPI_OP_BASE_TYPE_FLOAT,
  OMPI_OP_BASE_TYPE_DOUBLE, OMPI_OP_BASE_TYPE_REAL, OMPI_OP_BASE_TYPE_REAL2, OMPI_OP_BASE_TYPE_REAL4,
  OMPI_OP_BASE_TYPE_REAL8, OMPI_OP_BASE_TYPE_REAL16, OMPI_OP_BASE_TYPE_DOUBLE_PRECISION, OMPI_OP_BASE_TYPE_LONG_DOUBLE,
  OMPI_OP_BASE_TYPE_LOGICAL, OMPI_OP_BASE_TYPE_BOOL, OMPI_OP_BASE_TYPE_C_FLOAT_COMPLEX, OMPI_OP_BASE_TYPE_C_DOUBLE_COMPLEX,
  OMPI_OP_BASE_TYPE_C_LONG_DOUBLE_COMPLEX, OMPI_OP_BASE_TYPE_BYTE, OMPI_OP_BASE_TYPE_2REAL, OMPI_OP_BASE_TYPE_2DOUBLE_PRECISION,
  OMPI_OP_BASE_TYPE_2INTEGER, OMPI_OP_BASE_TYPE_FLOAT_INT, OMPI_OP_BASE_TYPE_DOUBLE_INT, OMPI_OP_BASE_TYPE_LONG_INT,
  OMPI_OP_BASE_TYPE_2INT, OMPI_OP_BASE_TYPE_SHORT_INT, OMPI_OP_BASE_TYPE_LONG_DOUBLE_INT, OMPI_OP_BASE_TYPE_WCHAR,
  OMPI_OP_BASE_TYPE_MAX, OMPI_OSC_PT2PT_PEER_FLAG_UNEX = 1, OMPI_OSC_PT2PT_PEER_FLAG_EAGER = 2, OMPI_OSC_PT2PT_PEER_FLAG_LOCK = 4,
  OMPI_OSC_RDMA_LOCKING_TWO_LEVEL, OMPI_OSC_RDMA_LOCKING_ON_DEMAND, OMPI_OSC_RDMA_PEER_EXCLUSIVE = 0x01, OMPI_OSC_RDMA_PEER_LOCAL_BASE = 0x02,
  OMPI_OSC_RDMA_PEER_LOCAL_STATE = 0x04, OMPI_OSC_RDMA_PEER_ACCUMULATING = 0x08, OMPI_OSC_RDMA_PEER_ACCESS_ACTIVE_EPOCH = 0x10, OMPI_OSC_RDMA_PEER_STATE_FREE = 0x20,
  OMPI_OSC_RDMA_PEER_BASE_FREE = 0x40, OMPI_OSC_RDMA_PEER_DEMAND_LOCKED = 0x80, MCA_PML_UCX_REQUEST_FLAG_SEND = (1 << 0), MCA_PML_UCX_REQUEST_FLAG_FREE_CALLED = (1 << 1),
  MCA_PML_UCX_REQUEST_FLAG_COMPLETED = (1 << 2), ROOT_NODE, LEAF_NODE, INTERIOR_NODE,
  EXCHANGE_NODE, EXTRA_NODE, PERUSE_TYPE_INVALID =-1, PERUSE_TYPE_COMM,
  PERUSE_TYPE_FILE, PERUSE_TYPE_WIN, PERUSE_SUCCESS = 0, PERUSE_ERR_INIT,
  PERUSE_ERR_GENERIC, PERUSE_ERR_MALLOC, PERUSE_ERR_EVENT, PERUSE_ERR_EVENT_HANDLE,
  PERUSE_ERR_PARAMETER, PERUSE_ERR_MPI_INIT, PERUSE_ERR_COMM, PERUSE_ERR_MPI_OBJECT,
  HPCTIMER_SUCCESS = 0, HPCTIMER_FAILURE = 1, OPAL_SUCCESS = ( 0 ), OPAL_ERROR = ( 0 - 1),
  OPAL_ERR_OUT_OF_RESOURCE = ( 0 - 2), OPAL_ERR_TEMP_OUT_OF_RESOURCE = ( 0 - 3), OPAL_ERR_RESOURCE_BUSY = ( 0 - 4), OPAL_ERR_BAD_PARAM = ( 0 - 5),
  OPAL_ERR_FATAL = ( 0 - 6), OPAL_ERR_NOT_IMPLEMENTED = ( 0 - 7), OPAL_ERR_NOT_SUPPORTED = ( 0 - 8), OPAL_ERR_INTERRUPTED = ( 0 - 9),
  OPAL_ERR_WOULD_BLOCK = ( 0 - 10), OPAL_ERR_IN_ERRNO = ( 0 - 11), OPAL_ERR_UNREACH = ( 0 - 12), OPAL_ERR_NOT_FOUND = ( 0 - 13),
  OPAL_EXISTS = ( 0 - 14), OPAL_ERR_TIMEOUT = ( 0 - 15), OPAL_ERR_NOT_AVAILABLE = ( 0 - 16), OPAL_ERR_PERM = ( 0 - 17),
  OPAL_ERR_VALUE_OUT_OF_BOUNDS = ( 0 - 18), OPAL_ERR_FILE_READ_FAILURE = ( 0 - 19), OPAL_ERR_FILE_WRITE_FAILURE = ( 0 - 20), OPAL_ERR_FILE_OPEN_FAILURE = ( 0 - 21),
  OPAL_ERR_PACK_MISMATCH = ( 0 - 22), OPAL_ERR_PACK_FAILURE = ( 0 - 23), OPAL_ERR_UNPACK_FAILURE = ( 0 - 24), OPAL_ERR_UNPACK_INADEQUATE_SPACE = ( 0 - 25),
  OPAL_ERR_UNPACK_READ_PAST_END_OF_BUFFER = ( 0 - 26), OPAL_ERR_TYPE_MISMATCH = ( 0 - 27), OPAL_ERR_OPERATION_UNSUPPORTED = ( 0 - 28), OPAL_ERR_UNKNOWN_DATA_TYPE = ( 0 - 29),
  OPAL_ERR_BUFFER = ( 0 - 30), OPAL_ERR_DATA_TYPE_REDEF = ( 0 - 31), OPAL_ERR_DATA_OVERWRITE_ATTEMPT = ( 0 - 32), OPAL_ERR_MODULE_NOT_FOUND = ( 0 - 33),
  OPAL_ERR_TOPO_SLOT_LIST_NOT_SUPPORTED = ( 0 - 34), OPAL_ERR_TOPO_SOCKET_NOT_SUPPORTED = ( 0 - 35), OPAL_ERR_TOPO_CORE_NOT_SUPPORTED = ( 0 - 36), OPAL_ERR_NOT_ENOUGH_SOCKETS = ( 0 - 37),
  OPAL_ERR_NOT_ENOUGH_CORES = ( 0 - 38), OPAL_ERR_INVALID_PHYS_CPU = ( 0 - 39), OPAL_ERR_MULTIPLE_AFFINITIES = ( 0 - 40), OPAL_ERR_SLOT_LIST_RANGE = ( 0 - 41),
  OPAL_ERR_NETWORK_NOT_PARSEABLE = ( 0 - 42), OPAL_ERR_SILENT = ( 0 - 43), OPAL_ERR_NOT_INITIALIZED = ( 0 - 44), OPAL_ERR_NOT_BOUND = ( 0 - 45),
  OPAL_ERR_TAKE_NEXT_OPTION = ( 0 - 46), OPAL_ERR_PROC_ENTRY_NOT_FOUND = ( 0 - 47), OPAL_ERR_DATA_VALUE_NOT_FOUND = ( 0 - 48), OPAL_ERR_CONNECTION_FAILED = ( 0 - 49),
  OPAL_ERR_AUTHENTICATION_FAILED = ( 0 - 50), OPAL_ERR_COMM_FAILURE = ( 0 - 51), OPAL_ERR_SERVER_NOT_AVAIL = ( 0 - 52), OPAL_ERR_IN_PROCESS = ( 0 - 53),
  OPAL_ERR_DEBUGGER_RELEASE = ( 0 - 54), OPAL_ERR_HANDLERS_COMPLETE = ( 0 - 55), OPAL_ERR_PARTIAL_SUCCESS = ( 0 - 56), OPAL_ERR_PROC_ABORTED = ( 0 - 57),
  OPAL_ERR_PROC_REQUESTED_ABORT = ( 0 - 58), OPAL_ERR_PROC_ABORTING = ( 0 - 59), OPAL_ERR_NODE_DOWN = ( 0 - 60), OPAL_ERR_NODE_OFFLINE = ( 0 - 61),
  OPAL_ERR_JOB_TERMINATED = ( 0 - 62), OPAL_ERR_PROC_RESTART = ( 0 - 63), OPAL_ERR_PROC_CHECKPOINT = ( 0 - 64), OPAL_ERR_PROC_MIGRATE = ( 0 - 65),
  OPAL_ERR_EVENT_REGISTRATION = ( 0 - 66), OPAL_ERR_HEARTBEAT_ALERT = ( 0 - 67), OPAL_ERR_FILE_ALERT = ( 0 - 68), OPAL_ERR_MODEL_DECLARED = ( 0 - 69),
  OPAL_ATOMIC_LOCK_UNLOCKED = 0, OPAL_ATOMIC_LOCK_LOCKED = 1, MCA_BASE_VERBOSE_NONE = -1, MCA_BASE_VERBOSE_ERROR = 0,
  MCA_BASE_VERBOSE_COMPONENT = 10, MCA_BASE_VERBOSE_WARN = 20, MCA_BASE_VERBOSE_INFO = 40, MCA_BASE_VERBOSE_TRACE = 60,
  MCA_BASE_VERBOSE_DEBUG = 80, MCA_BASE_VERBOSE_MAX = 100, MCA_BASE_PVAR_CLASS_STATE, MCA_BASE_PVAR_CLASS_LEVEL,
  MCA_BASE_PVAR_CLASS_SIZE, MCA_BASE_PVAR_CLASS_PERCENTAGE, MCA_BASE_PVAR_CLASS_HIGHWATERMARK, MCA_BASE_PVAR_CLASS_LOWWATERMARK,
  MCA_BASE_PVAR_CLASS_COUNTER, MCA_BASE_PVAR_CLASS_AGGREGATE, MCA_BASE_PVAR_CLASS_TIMER, MCA_BASE_PVAR_CLASS_GENERIC,
  MCA_BTL_REG_FLAG_LOCAL_WRITE = MCA_RCACHE_ACCESS_LOCAL_WRITE, MCA_BTL_REG_FLAG_REMOTE_READ = MCA_RCACHE_ACCESS_REMOTE_READ, MCA_BTL_REG_FLAG_REMOTE_WRITE = MCA_RCACHE_ACCESS_REMOTE_WRITE, MCA_BTL_REG_FLAG_REMOTE_ATOMIC = MCA_RCACHE_ACCESS_REMOTE_ATOMIC,
  MCA_BTL_REG_FLAG_ACCESS_ANY = MCA_RCACHE_ACCESS_ANY, BTL_OPENIB_HP_CQ, BTL_OPENIB_LP_CQ, BTL_OPENIB_MAX_CQ,
  BTL_OPENIB_INI_PARSE_DONE, BTL_OPENIB_INI_PARSE_ERROR, BTL_OPENIB_INI_PARSE_NEWLINE, BTL_OPENIB_INI_PARSE_SECTION,
  BTL_OPENIB_INI_PARSE_EQUAL, BTL_OPENIB_INI_PARSE_SINGLE_WORD, BTL_OPENIB_INI_PARSE_VALUE, BTL_OPENIB_INI_PARSE_MAX,
  REGINT_NEG_ONE_OK = 0x01, REGINT_GE_ZERO = 0x02, REGINT_GE_ONE = 0x04, REGINT_NONZERO = 0x08,
  REGINT_MAX = 0x88, MCA_BTL_UGNI_RCACHE_UDREG, MCA_BTL_UGNI_RCACHE_GRDMA, MCA_BTL_UGNI_FRAG_BUFFERED = 1,
  MCA_BTL_UGNI_FRAG_COMPLETE = 2, MCA_BTL_UGNI_FRAG_EAGER = 4, MCA_BTL_UGNI_FRAG_IGNORE = 8, MCA_BTL_UGNI_FRAG_SMSG_COMPLETE = 16,
  MCA_BTL_UGNI_FRAG_RESPONSE = 32, CONNECTIVITY_AGENT_CMD_LISTEN = 17, CONNECTIVITY_AGENT_CMD_PING, CONNECTIVITY_AGENT_CMD_UNLISTEN,
  CONNECTIVITY_AGENT_CMD_MAX, REGINT_NEG_ONE_OK = 0x01, REGINT_GE_ZERO = 0x02, REGINT_GE_ONE = 0x04,
  REGINT_NONZERO = 0x08, REGINT_MAX = 0x88, WEIGHT_UNREACHABLE = -1, MCA_BTL_VADER_XPMEM = 0,
  MCA_BTL_VADER_CMA = 1, MCA_BTL_VADER_KNEM = 2, MCA_BTL_VADER_NONE = 3, MCA_BTL_VADER_FLAG_INLINE = 0,
  MCA_BTL_VADER_FLAG_SINGLE_COPY = 1, MCA_BTL_VADER_FLAG_COMPLETE = 2, MCA_BTL_VADER_FLAG_SETUP_FBOX = 4, OPAL_COMMON_VERBS_FLAGS_RC = 0x1,
  OPAL_COMMON_VERBS_FLAGS_NOT_RC = 0x2, OPAL_COMMON_VERBS_FLAGS_UD = 0x4, OPAL_COMMON_VERBS_FLAGS_TRANSPORT_IB = 0x8, OPAL_COMMON_VERBS_FLAGS_TRANSPORT_IWARP = 0x10,
  OPAL_COMMON_VERBS_FLAGS_LINK_LAYER_IB = 0x80, OPAL_COMMON_VERBS_FLAGS_LINK_LAYER_ETHERNET = 0x100, OPAL_COMMON_VERBS_FLAGS_MAX, OPAL_PROC_LOCALITY_UNKNOWN = 0x0000,
  OPAL_PROC_NON_LOCAL = 0x8000, OPAL_PROC_ON_CLUSTER = 0x0001, OPAL_PROC_ON_CU = 0x0002, OPAL_PROC_ON_HOST = 0x0004,
  OPAL_PROC_ON_BOARD = 0x0008, OPAL_PROC_ON_NODE = 0x000c, OPAL_PROC_ON_NUMA = 0x0010, OPAL_PROC_ON_SOCKET = 0x0020,
  OPAL_PROC_ON_L3CACHE = 0x0040, OPAL_PROC_ON_L2CACHE = 0x0080, OPAL_PROC_ON_L1CACHE = 0x0100, OPAL_PROC_ON_CORE = 0x0200,
  OPAL_PROC_ON_HWTHREAD = 0x0400, OPAL_PROC_ALL_LOCAL = 0x0fff, MCA_BASE_COMPONENT_FLAG_REQUIRED = 1, PMIX_MCA_BASE_VERBOSE_NONE = -1,
  PMIX_MCA_BASE_VERBOSE_ERROR = 0, PMIX_MCA_BASE_VERBOSE_COMPONENT = 10, PMIX_MCA_BASE_VERBOSE_WARN = 20, PMIX_MCA_BASE_VERBOSE_INFO = 40,
  PMIX_MCA_BASE_VERBOSE_TRACE = 60, PMIX_MCA_BASE_VERBOSE_DEBUG = 80, PMIX_MCA_BASE_VERBOSE_MAX = 100, PMIX_SHOW_HELP_PARSE_DONE,
  PMIX_SHOW_HELP_PARSE_ERROR, PMIX_SHOW_HELP_PARSE_TOPIC, PMIX_SHOW_HELP_PARSE_MESSAGE, PMIX_SHOW_HELP_PARSE_MAX,
  MCA_RCACHE_FLAGS_CACHE_BYPASS = 0x0001, MCA_RCACHE_FLAGS_PERSIST = 0x0002, MCA_RCACHE_FLAGS_SO_MEM = 0x0004, MCA_RCACHE_FLAGS_CUDA_GPU_MEM = 0x0008,
  MCA_RCACHE_FLAGS_CUDA_REGISTER_MEM = 0x0010, MCA_RCACHE_FLAGS_INVALID = 0x0080, MCA_RCACHE_FLAGS_RESV0 = 0x1000, MCA_RCACHE_FLAGS_RESV1 = 0x2000,
  MCA_RCACHE_FLAGS_RESV2 = 0x4000, MCA_RCACHE_FLAGS_RESV3 = 0x8000, OPAL_SHOW_HELP_PARSE_DONE, OPAL_SHOW_HELP_PARSE_ERROR,
  OPAL_SHOW_HELP_PARSE_TOPIC, OPAL_SHOW_HELP_PARSE_MESSAGE, OPAL_SHOW_HELP_PARSE_MAX, ORTE_SUCCESS = OPAL_SUCCESS,
  ORTE_ERROR = OPAL_ERROR, ORTE_ERR_OUT_OF_RESOURCE = OPAL_ERR_OUT_OF_RESOURCE, ORTE_ERR_TEMP_OUT_OF_RESOURCE = OPAL_ERR_TEMP_OUT_OF_RESOURCE, ORTE_ERR_RESOURCE_BUSY = OPAL_ERR_RESOURCE_BUSY,
  ORTE_ERR_BAD_PARAM = OPAL_ERR_BAD_PARAM, ORTE_ERR_FATAL = OPAL_ERR_FATAL, ORTE_ERR_NOT_IMPLEMENTED = OPAL_ERR_NOT_IMPLEMENTED, ORTE_ERR_NOT_SUPPORTED = OPAL_ERR_NOT_SUPPORTED,
  ORTE_ERR_INTERUPTED = OPAL_ERR_INTERRUPTED, ORTE_ERR_WOULD_BLOCK = OPAL_ERR_WOULD_BLOCK, ORTE_ERR_IN_ERRNO = OPAL_ERR_IN_ERRNO, ORTE_ERR_UNREACH = OPAL_ERR_UNREACH,
  ORTE_ERR_NOT_FOUND = OPAL_ERR_NOT_FOUND, ORTE_EXISTS = OPAL_EXISTS, ORTE_ERR_TIMEOUT = OPAL_ERR_TIMEOUT, ORTE_ERR_NOT_AVAILABLE = OPAL_ERR_NOT_AVAILABLE,
  ORTE_ERR_PERM = OPAL_ERR_PERM, ORTE_ERR_VALUE_OUT_OF_BOUNDS = OPAL_ERR_VALUE_OUT_OF_BOUNDS, ORTE_ERR_FILE_READ_FAILURE = OPAL_ERR_FILE_READ_FAILURE, ORTE_ERR_FILE_WRITE_FAILURE = OPAL_ERR_FILE_WRITE_FAILURE,
  ORTE_ERR_FILE_OPEN_FAILURE = OPAL_ERR_FILE_OPEN_FAILURE, ORTE_ERR_PACK_MISMATCH = OPAL_ERR_PACK_MISMATCH, ORTE_ERR_PACK_FAILURE = OPAL_ERR_PACK_FAILURE, ORTE_ERR_UNPACK_FAILURE = OPAL_ERR_UNPACK_FAILURE,
  ORTE_ERR_UNPACK_INADEQUATE_SPACE = OPAL_ERR_UNPACK_INADEQUATE_SPACE, ORTE_ERR_UNPACK_READ_PAST_END_OF_BUFFER = OPAL_ERR_UNPACK_READ_PAST_END_OF_BUFFER, ORTE_ERR_TYPE_MISMATCH = OPAL_ERR_TYPE_MISMATCH, ORTE_ERR_OPERATION_UNSUPPORTED = OPAL_ERR_OPERATION_UNSUPPORTED,
  ORTE_ERR_UNKNOWN_DATA_TYPE = OPAL_ERR_UNKNOWN_DATA_TYPE, ORTE_ERR_BUFFER = OPAL_ERR_BUFFER, ORTE_ERR_DATA_TYPE_REDEF = OPAL_ERR_DATA_TYPE_REDEF, ORTE_ERR_DATA_OVERWRITE_ATTEMPT = OPAL_ERR_DATA_OVERWRITE_ATTEMPT,
  ORTE_ERR_MODULE_NOT_FOUND = OPAL_ERR_MODULE_NOT_FOUND, ORTE_ERR_TOPO_SLOT_LIST_NOT_SUPPORTED = OPAL_ERR_TOPO_SLOT_LIST_NOT_SUPPORTED, ORTE_ERR_TOPO_SOCKET_NOT_SUPPORTED = OPAL_ERR_TOPO_SOCKET_NOT_SUPPORTED, ORTE_ERR_TOPO_CORE_NOT_SUPPORTED = OPAL_ERR_TOPO_CORE_NOT_SUPPORTED,
  ORTE_ERR_NOT_ENOUGH_SOCKETS = OPAL_ERR_NOT_ENOUGH_SOCKETS, ORTE_ERR_NOT_ENOUGH_CORES = OPAL_ERR_NOT_ENOUGH_CORES, ORTE_ERR_INVALID_PHYS_CPU = OPAL_ERR_INVALID_PHYS_CPU, ORTE_ERR_MULTIPLE_AFFINITIES = OPAL_ERR_MULTIPLE_AFFINITIES,
  ORTE_ERR_SLOT_LIST_RANGE = OPAL_ERR_SLOT_LIST_RANGE, ORTE_ERR_SILENT = OPAL_ERR_SILENT, ORTE_ERR_NOT_INITIALIZED = OPAL_ERR_NOT_INITIALIZED, ORTE_ERR_NOT_BOUND = OPAL_ERR_NOT_BOUND,
  ORTE_ERR_TAKE_NEXT_OPTION = OPAL_ERR_TAKE_NEXT_OPTION, ORTE_ERR_PROC_ENTRY_NOT_FOUND = OPAL_ERR_PROC_ENTRY_NOT_FOUND, ORTE_ERR_DATA_VALUE_NOT_FOUND = OPAL_ERR_DATA_VALUE_NOT_FOUND, ORTE_ERR_CONNECTION_FAILED = OPAL_ERR_CONNECTION_FAILED,
  ORTE_ERR_AUTHENTICATION_FAILED = OPAL_ERR_AUTHENTICATION_FAILED, ORTE_ERR_COMM_FAILURE = OPAL_ERR_COMM_FAILURE, ORTE_ERR_DEBUGGER_RELEASE = OPAL_ERR_DEBUGGER_RELEASE, ORTE_ERR_PARTIAL_SUCCESS = OPAL_ERR_PARTIAL_SUCCESS,
  ORTE_ERR_PROC_ABORTED = OPAL_ERR_PROC_ABORTED, ORTE_ERR_PROC_REQUESTED_ABORT = OPAL_ERR_PROC_REQUESTED_ABORT, ORTE_ERR_PROC_ABORTING = OPAL_ERR_PROC_ABORTING, ORTE_ERR_NODE_DOWN = OPAL_ERR_NODE_DOWN,
  ORTE_ERR_NODE_OFFLINE = OPAL_ERR_NODE_OFFLINE, ORTE_ERR_RECV_LESS_THAN_POSTED = ( ( 0 - 100) - 1), ORTE_ERR_RECV_MORE_THAN_POSTED = ( ( 0 - 100) - 2), ORTE_ERR_NO_MATCH_YET = ( ( 0 - 100) - 3),
  ORTE_ERR_REQUEST = ( ( 0 - 100) - 4), ORTE_ERR_NO_CONNECTION_ALLOWED = ( ( 0 - 100) - 5), ORTE_ERR_CONNECTION_REFUSED = ( ( 0 - 100) - 6), ORTE_ERR_COMPARE_FAILURE = ( ( 0 - 100) - 9),
  ORTE_ERR_COPY_FAILURE = ( ( 0 - 100) - 10), ORTE_ERR_PROC_STATE_MISSING = ( ( 0 - 100) - 11), ORTE_ERR_PROC_EXIT_STATUS_MISSING = ( ( 0 - 100) - 12), ORTE_ERR_INDETERMINATE_STATE_INFO = ( ( 0 - 100) - 13),
  ORTE_ERR_NODE_FULLY_USED = ( ( 0 - 100) - 14), ORTE_ERR_INVALID_NUM_PROCS = ( ( 0 - 100) - 15), ORTE_ERR_ADDRESSEE_UNKNOWN = ( ( 0 - 100) - 16), ORTE_ERR_SYS_LIMITS_PIPES = ( ( 0 - 100) - 17),
  ORTE_ERR_PIPE_SETUP_FAILURE = ( ( 0 - 100) - 18), ORTE_ERR_SYS_LIMITS_CHILDREN = ( ( 0 - 100) - 19), ORTE_ERR_FAILED_GET_TERM_ATTRS = ( ( 0 - 100) - 20), ORTE_ERR_WDIR_NOT_FOUND = ( ( 0 - 100) - 21),
  ORTE_ERR_EXE_NOT_FOUND = ( ( 0 - 100) - 22), ORTE_ERR_PIPE_READ_FAILURE = ( ( 0 - 100) - 23), ORTE_ERR_EXE_NOT_ACCESSIBLE = ( ( 0 - 100) - 24), ORTE_ERR_FAILED_TO_START = ( ( 0 - 100) - 25),
  ORTE_ERR_FILE_NOT_EXECUTABLE = ( ( 0 - 100) - 26), ORTE_ERR_HNP_COULD_NOT_START = ( ( 0 - 100) - 27), ORTE_ERR_SYS_LIMITS_SOCKETS = ( ( 0 - 100) - 28), ORTE_ERR_SOCKET_NOT_AVAILABLE = ( ( 0 - 100) - 29),
  ORTE_ERR_SYSTEM_WILL_BOOTSTRAP = ( ( 0 - 100) - 30), ORTE_ERR_RESTART_LIMIT_EXCEEDED = ( ( 0 - 100) - 31), ORTE_ERR_INVALID_NODE_RANK = ( ( 0 - 100) - 32), ORTE_ERR_INVALID_LOCAL_RANK = ( ( 0 - 100) - 33),
  ORTE_ERR_UNRECOVERABLE = ( ( 0 - 100) - 34), ORTE_ERR_MEM_LIMIT_EXCEEDED = ( ( 0 - 100) - 35), ORTE_ERR_HEARTBEAT_LOST = ( ( 0 - 100) - 36), ORTE_ERR_PROC_STALLED = ( ( 0 - 100) - 37),
  ORTE_ERR_NO_APP_SPECIFIED = ( ( 0 - 100) - 38), ORTE_ERR_NO_EXE_SPECIFIED = ( ( 0 - 100) - 39), ORTE_ERR_COMM_DISABLED = ( ( 0 - 100) - 40), ORTE_ERR_FAILED_TO_MAP = ( ( 0 - 100) - 41),
  ORTE_ERR_SENSOR_LIMIT_EXCEEDED = ( ( 0 - 100) - 42), ORTE_ERR_ALLOCATION_PENDING = ( ( 0 - 100) - 43), ORTE_ERR_NO_PATH_TO_TARGET = ( ( 0 - 100) - 44), ORTE_ERR_OP_IN_PROGRESS = ( ( 0 - 100) - 45),
  ORTE_ERR_OPEN_CONDUIT_FAIL = ( ( 0 - 100) - 46), ORTE_ERR_DUPLICATE_MSG = ( ( 0 - 100) - 47), ORTE_ERR_OUT_OF_ORDER_MSG = ( ( 0 - 100) - 48), ORTE_ERR_FORCE_SELECT = ( ( 0 - 100) - 49),
  ORTE_ERR_JOB_CANCELLED = ( ( 0 - 100) - 50), ORTE_ERR_CONDUIT_SEND_FAIL = ( ( 0 - 100) - 51), MCA_OOB_UD_SEND_WR = 0x10000000, MCA_OOB_UD_RECV_WR = 0x20000000,
  OSHMEM_SUCCESS = ORTE_SUCCESS, OSHMEM_ERROR = ORTE_ERROR, OSHMEM_ERR_OUT_OF_RESOURCE = ORTE_ERR_OUT_OF_RESOURCE, OSHMEM_ERR_TEMP_OUT_OF_RESOURCE = ORTE_ERR_TEMP_OUT_OF_RESOURCE,
  OSHMEM_ERR_RESOURCE_BUSY = ORTE_ERR_RESOURCE_BUSY, OSHMEM_ERR_BAD_PARAM = ORTE_ERR_BAD_PARAM, OSHMEM_ERR_FATAL = ORTE_ERR_FATAL, OSHMEM_ERR_NOT_IMPLEMENTED = ORTE_ERR_NOT_IMPLEMENTED,
  OSHMEM_ERR_NOT_SUPPORTED = ORTE_ERR_NOT_SUPPORTED, OSHMEM_ERR_INTERUPTED = ORTE_ERR_INTERUPTED, OSHMEM_ERR_WOULD_BLOCK = ORTE_ERR_WOULD_BLOCK, OSHMEM_ERR_IN_ERRNO = ORTE_ERR_IN_ERRNO,
  OSHMEM_ERR_UNREACH = ORTE_ERR_UNREACH, OSHMEM_ERR_NOT_FOUND = ORTE_ERR_NOT_FOUND, OSHMEM_EXISTS = ORTE_EXISTS, OSHMEM_ERR_TIMEOUT = ORTE_ERR_TIMEOUT,
  OSHMEM_ERR_NOT_AVAILABLE = ORTE_ERR_NOT_AVAILABLE, OSHMEM_ERR_PERM = ORTE_ERR_PERM, OSHMEM_ERR_VALUE_OUT_OF_BOUNDS = ORTE_ERR_VALUE_OUT_OF_BOUNDS, OSHMEM_ERR_FILE_READ_FAILURE = ORTE_ERR_FILE_READ_FAILURE,
  OSHMEM_ERR_FILE_WRITE_FAILURE = ORTE_ERR_FILE_WRITE_FAILURE, OSHMEM_ERR_FILE_OPEN_FAILURE = ORTE_ERR_FILE_OPEN_FAILURE, OSHMEM_ERR_RECV_LESS_THAN_POSTED = ORTE_ERR_RECV_LESS_THAN_POSTED, OSHMEM_ERR_RECV_MORE_THAN_POSTED = ORTE_ERR_RECV_MORE_THAN_POSTED,
  OSHMEM_ERR_NO_MATCH_YET = ORTE_ERR_NO_MATCH_YET, OSHMEM_ERR_BUFFER = ORTE_ERR_BUFFER, OSHMEM_ERR_REQUEST = ORTE_ERR_REQUEST, OSHMEM_ERR_NO_CONNECTION_ALLOWED = ORTE_ERR_NO_CONNECTION_ALLOWED,
  OSHMEM_ERR_CONNECTION_REFUSED = ORTE_ERR_CONNECTION_REFUSED, OSHMEM_ERR_CONNECTION_FAILED = ORTE_ERR_CONNECTION_FAILED, OSHMEM_PACK_MISMATCH = ORTE_ERR_PACK_MISMATCH, OSHMEM_ERR_PACK_FAILURE = ORTE_ERR_PACK_FAILURE,
  OSHMEM_ERR_UNPACK_FAILURE = ORTE_ERR_UNPACK_FAILURE, OSHMEM_ERR_COMM_FAILURE = ORTE_ERR_COMM_FAILURE, OSHMEM_UNPACK_INADEQUATE_SPACE = ORTE_ERR_UNPACK_INADEQUATE_SPACE, OSHMEM_UNPACK_READ_PAST_END_OF_BUFFER = ORTE_ERR_UNPACK_READ_PAST_END_OF_BUFFER,
  OSHMEM_ERR_TYPE_MISMATCH = ORTE_ERR_TYPE_MISMATCH, OSHMEM_ERR_COMPARE_FAILURE = ORTE_ERR_COMPARE_FAILURE, OSHMEM_ERR_COPY_FAILURE = ORTE_ERR_COPY_FAILURE, OSHMEM_ERR_UNKNOWN_DATA_TYPE = ORTE_ERR_UNKNOWN_DATA_TYPE,
  OSHMEM_ERR_DATA_TYPE_REDEF = ORTE_ERR_DATA_TYPE_REDEF, OSHMEM_ERR_DATA_OVERWRITE_ATTEMPT = ORTE_ERR_DATA_OVERWRITE_ATTEMPT, ATOMIC_LOCK_IDLE = 0, ATOMIC_LOCK_WAITING = 1,
  ATOMIC_LOCK_ACTIVE = 2, SHMEM_SYNC_INIT = _SHMEM_SYNC_VALUE, SHMEM_SYNC_WAIT = -2, SHMEM_SYNC_RUN = -3,
  SHMEM_SYNC_READY = -4, REGINT_NEG_ONE_OK = 0x01, REGINT_GE_ZERO = 0x02, REGINT_GE_ONE = 0x04,
  REGINT_NONZERO = 0x08, REGINT_MAX = 0x88, OSHMEM_OP_TYPE_SHORT, OSHMEM_OP_TYPE_INT,
  OSHMEM_OP_TYPE_LONG, OSHMEM_OP_TYPE_LLONG, OSHMEM_OP_TYPE_INT16_T, OSHMEM_OP_TYPE_INT32_T,
  OSHMEM_OP_TYPE_INT64_T, OSHMEM_OP_TYPE_FLOAT, OSHMEM_OP_TYPE_DOUBLE, OSHMEM_OP_TYPE_LDOUBLE,
  OSHMEM_OP_TYPE_FCOMPLEX, OSHMEM_OP_TYPE_DCOMPLEX, OSHMEM_OP_TYPE_FINT2, OSHMEM_OP_TYPE_FINT4,
  OSHMEM_OP_TYPE_FINT8, OSHMEM_OP_TYPE_FREAL4, OSHMEM_OP_TYPE_FREAL8, OSHMEM_OP_TYPE_FREAL16,
  OSHMEM_OP_TYPE_NUMBER, SHMEM_THREAD_SINGLE, SHMEM_THREAD_FUNNELED, SHMEM_THREAD_SERIALIZED,
  SHMEM_THREAD_MULTIPLE
}
 
enum  ompi_errhandler_lang_t { OMPI_ERRHANDLER_LANG_C, OMPI_ERRHANDLER_LANG_CXX, OMPI_ERRHANDLER_LANG_FORTRAN }
 Enum to denote what language the error handler was created from. More...
 
enum  ompi_errhandler_type_t { OMPI_ERRHANDLER_TYPE_PREDEFINED, OMPI_ERRHANDLER_TYPE_COMM, OMPI_ERRHANDLER_TYPE_WIN, OMPI_ERRHANDLER_TYPE_FILE }
 Enum used to describe what kind MPI object an error handler is used for. More...
 

Functions

int ompi_errhandler_init (void)
 Initialize the error handler interface. More...
 
int ompi_errhandler_finalize (void)
 Finalize the error handler interface. More...
 
int ompi_errhandler_invoke (ompi_errhandler_t *errhandler, void *mpi_object, int type, int err_code, const char *message)
 
int ompi_errhandler_request_invoke (int count, struct ompi_request_t **requests, const char *message)
 Invoke an MPI exception on the first request found in the array that has a non-MPI_SUCCESS value for MPI_ERROR in its status. More...
 
ompi_errhandler_tompi_errhandler_create (ompi_errhandler_type_t object_type, ompi_errhandler_generic_handler_fn_t *func, ompi_errhandler_lang_t language)
 Create a ompi_errhandler_t. More...
 
void ompi_errhandler_callback (int status, const opal_process_name_t *source, opal_list_t *info, opal_list_t *results, opal_pmix_notification_complete_fn_t cbfunc, void *cbdata)
 Default errhandler callback. More...
 
void ompi_errhandler_registration_callback (int status, size_t errhandler_ref, void *cbdata)
 
static bool ompi_errhandler_is_intrinsic (ompi_errhandler_t *errhandler)
 Check to see if an errhandler is intrinsic. More...
 

Variables

ompi_predefined_errhandler_t ompi_mpi_errhandler_null
 Global variable for MPI_ERRHANDLER_NULL (_addr flavor is for F03 bindings) More...
 
ompi_predefined_errhandler_tompi_mpi_errhandler_null_addr
 
ompi_predefined_errhandler_t ompi_mpi_errors_are_fatal
 Global variable for MPI_ERRORS_ARE_FATAL (_addr flavor is for F03 bindings) More...
 
ompi_predefined_errhandler_tompi_mpi_errors_are_fatal_addr
 
ompi_predefined_errhandler_t ompi_mpi_errors_return
 Global variable for MPI_ERRORS_RETURN (_addr flavor is for F03 bindings) More...
 
ompi_predefined_errhandler_tompi_mpi_errors_return_addr
 
ompi_predefined_errhandler_t ompi_mpi_errors_throw_exceptions
 Global variable for MPI::ERRORS_THROW_EXCEPTIONS. More...
 
opal_pointer_array_t ompi_errhandler_f_to_c_table
 Table for Fortran <-> C errhandler handle conversion. More...
 

Macro Definition Documentation

◆ OMPI_ERR_INIT_FINALIZE

#define OMPI_ERR_INIT_FINALIZE (   name)
Value:
{ \
int32_t state = ompi_mpi_state; \
ompi_mpi_errors_are_fatal_comm_handler(NULL, NULL, name); \
} \
}

This is the macro to check the state of MPI and determine whether it was properly initialized and not yet finalized.

This macro directly invokes the ompi_mpi_errors_are_fatal_handler() when an error occurs because MPI_COMM_WORLD does not exist (because we're before MPI_Init() or after MPI_Finalize()).

NOTE: The ompi_mpi_state variable is a volatile that is set atomically in ompi_mpi_init() and ompi_mpi_finalize(). The appropriate memory barriers are done in those 2 functions such that we do not need to do a read memory barrier here (in potentially-performance-critical code paths) before reading the variable.

Definition at line 205 of file errhandler.h.

◆ OMPI_ERRHANDLER_CHECK

#define OMPI_ERRHANDLER_CHECK (   rc,
  mpi_object,
  err_code,
  message 
)
Value:
if( OPAL_UNLIKELY(rc != OMPI_SUCCESS) ) { \
int __mpi_err_code = ompi_errcode_get_mpi_code(err_code); \
OPAL_CR_EXIT_LIBRARY() \
ompi_errhandler_invoke((mpi_object)->error_handler, \
(mpi_object), \
(int) (mpi_object)->errhandler_type, \
(__mpi_err_code), \
(message)); \
return (__mpi_err_code); \
}

Conditionally invoke an MPI error handler.

Parameters
rcThe return code to check
mpi_objectThe MPI object to invoke the errhandler on (a comm, win, or win)
err_codeThe error code
messageAny additional message; typically the name of the MPI function that is invoking the error.

This macro will invoke the error handler if the return code is not OMPI_SUCCESS.

Definition at line 249 of file errhandler.h.

◆ OMPI_ERRHANDLER_INVOKE

#define OMPI_ERRHANDLER_INVOKE (   mpi_object,
  err_code,
  message 
)
Value:
ompi_errhandler_invoke((mpi_object)->error_handler, \
(mpi_object), \
(int)(mpi_object)->errhandler_type, \
(message));

This is the macro to invoke to directly invoke an MPI error handler.

Parameters
mpi_objectThe MPI object to invoke the errhandler on (a comm, win, or win)
err_codeThe error code
messageAny additional message; typically the name of the MPI function that is invoking the error.

This macro is used when you want to directly invoke the error handler. It is exactly equivalent to calling ompi_errhandler_invoke() directly, but is provided to have a parallel invocation to OMPI_ERRHANDLER_CHECK() and OMPI_ERRHANDLER_RETURN().

Definition at line 229 of file errhandler.h.

◆ OMPI_ERRHANDLER_RETURN

#define OMPI_ERRHANDLER_RETURN (   rc,
  mpi_object,
  err_code,
  message 
)
Value:
if ( OPAL_UNLIKELY(OMPI_SUCCESS != rc) ) { \
int __mpi_err_code = ompi_errcode_get_mpi_code(err_code); \
ompi_errhandler_invoke((mpi_object)->error_handler, \
(mpi_object), \
(int)(mpi_object)->errhandler_type, \
(__mpi_err_code), \
(message)); \
return (__mpi_err_code); \
} else { \
return MPI_SUCCESS; \
}

Conditionally invoke an MPI error handler; if there is no error, return MPI_SUCCESS.

Parameters
rcThe return code to check
mpi_objectThe MPI object to invoke the errhandler on (a comm, win, or win)
err_codeThe error code
messageAny additional message; typically the name of the MPI function that is invoking the error.

This macro will invoke the error handler if the return code is not OMPI_SUCCESS. If the return code is OMPI_SUCCESS, then return MPI_SUCCESS.

Definition at line 276 of file errhandler.h.

◆ PREDEFINED_ERRHANDLER_PAD

#define PREDEFINED_ERRHANDLER_PAD   1024

Padded struct to maintain back compatibiltiy.

See ompi/communicator/communicator.h comments with struct ompi_communicator_t for full explanation why we chose the following padding construct for predefines.

Definition at line 143 of file errhandler.h.

Typedef Documentation

◆ ompi_errhandler_cxx_dispatch_fn_t

typedef void() ompi_errhandler_cxx_dispatch_fn_t(void *handle, int *err_code, const char *message, ompi_errhandler_generic_handler_fn_t *fn)

C++ invocation function signature.

Definition at line 98 of file errhandler.h.

◆ ompi_errhandler_fortran_handler_fn_t

typedef void() ompi_errhandler_fortran_handler_fn_t(ompi_fortran_integer_t *, ompi_fortran_integer_t *,...)

Typedef for all fortran errhandler functions.

Definition at line 59 of file errhandler.h.

◆ ompi_errhandler_generic_handler_fn_t

typedef void() ompi_errhandler_generic_handler_fn_t(void *, int *,...)

Typedef for generic errhandler function.

Definition at line 65 of file errhandler.h.

◆ ompi_errhandler_lang_t

Definition at line 65 of file errhandler.h.

◆ ompi_errhandler_t

Definition at line 98 of file errhandler.h.

◆ ompi_errhandler_type_t

Definition at line 65 of file errhandler.h.

◆ ompi_predefined_errhandler_t

Definition at line 98 of file errhandler.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MQS_INTERFACE_COMPATIBILITY 
OMPI_ERRHANDLER_NULL_FORTRAN 
OMPI_ERRORS_ARE_FATAL_FORTRAN 
OMPI_ERRORS_RETURN_FORTRAN 
OMPI_SUCCESS 
OMPI_ERROR 
OMPI_ERR_OUT_OF_RESOURCE 
OMPI_ERR_TEMP_OUT_OF_RESOURCE 
OMPI_ERR_RESOURCE_BUSY 
OMPI_ERR_BAD_PARAM 
OMPI_ERR_FATAL 
OMPI_ERR_NOT_IMPLEMENTED 
OMPI_ERR_NOT_SUPPORTED 
OMPI_ERR_INTERUPTED 
OMPI_ERR_WOULD_BLOCK 
OMPI_ERR_IN_ERRNO 
OMPI_ERR_UNREACH 
OMPI_ERR_NOT_FOUND 
OMPI_EXISTS 
OMPI_ERR_TIMEOUT 
OMPI_ERR_NOT_AVAILABLE 
OMPI_ERR_PERM 
OMPI_ERR_VALUE_OUT_OF_BOUNDS 
OMPI_ERR_FILE_READ_FAILURE 
OMPI_ERR_FILE_WRITE_FAILURE 
OMPI_ERR_FILE_OPEN_FAILURE 
OMPI_ERR_PACK_MISMATCH 
OMPI_ERR_PACK_FAILURE 
OMPI_ERR_UNPACK_FAILURE 
OMPI_ERR_TYPE_MISMATCH 
OMPI_ERR_UNKNOWN_DATA_TYPE 
OMPI_ERR_DATA_TYPE_REDEF 
OMPI_ERR_DATA_OVERWRITE_ATTEMPT 
OMPI_ERR_BUFFER 
OMPI_ERR_SILENT 
OMPI_ERR_HANDLERS_COMPLETE 
OMPI_ERR_REQUEST 
OMPI_ERR_RMA_SYNC 
OMPI_ERR_RMA_SHARED 
OMPI_ERR_RMA_ATTACH 
OMPI_ERR_RMA_RANGE 
OMPI_ERR_RMA_CONFLICT 
OMPI_ERR_WIN 
OMPI_ERR_RMA_FLAVOR 
MCA_COLL_CONVERTOR_NULL 
MCA_COLL_FCA_CONV_SEND 
MCA_COLL_FCA_CONV_RECV 
REGINT_NEG_ONE_OK 
REGINT_GE_ZERO 
REGINT_GE_ONE 
REGINT_NONZERO 
REGINT_MAX 
TRY_FIND_DERIVED 
NO_DERIVED 
GPFSMPIO_CIO_DATA_SIZE 
GPFSMPIO_CIO_T_SEEK 
GPFSMPIO_CIO_T_LCOMP 
GPFSMPIO_CIO_T_GATHER 
GPFSMPIO_CIO_T_PATANA 
GPFSMPIO_CIO_T_FD_PART 
GPFSMPIO_CIO_T_MYREQ 
GPFSMPIO_CIO_T_OTHREQ 
GPFSMPIO_CIO_T_DEXCH 
GPFSMPIO_CIO_T_DEXCH_RECV_EXCH 
GPFSMPIO_CIO_T_DEXCH_SETUP 
GPFSMPIO_CIO_T_DEXCH_NET 
GPFSMPIO_CIO_T_DEXCH_SORT 
GPFSMPIO_CIO_T_DEXCH_SIEVE 
GPFSMPIO_CIO_T_POSI_RW 
GPFSMPIO_CIO_B_POSI_RW 
GPFSMPIO_CIO_T_MPIO_RW 
GPFSMPIO_CIO_B_MPIO_RW 
GPFSMPIO_CIO_T_MPIO_CRW 
GPFSMPIO_CIO_B_MPIO_CRW 
GPFSMPIO_CIO_LAST 
ADIOI_HINT_AUTO 
ADIOI_HINT_ENABLE 
ADIOI_HINT_DISABLE 
MTL_OFI_PROG_AUTO 
MTL_OFI_PROG_MANUAL 
MTL_OFI_PROG_UNSPEC 
OMPI_OP_BASE_TYPE_INT8_T 

C integer: int8_t.

OMPI_OP_BASE_TYPE_UINT8_T 

C integer: uint8_t.

OMPI_OP_BASE_TYPE_INT16_T 

C integer: int16_t.

OMPI_OP_BASE_TYPE_UINT16_T 

C integer: uint16_t.

OMPI_OP_BASE_TYPE_INT32_T 

C integer: int32_t.

OMPI_OP_BASE_TYPE_UINT32_T 

C integer: uint32_t.

OMPI_OP_BASE_TYPE_INT64_T 

C integer: int64_t.

OMPI_OP_BASE_TYPE_UINT64_T 

C integer: uint64_t.

OMPI_OP_BASE_TYPE_INTEGER 

Fortran integer.

OMPI_OP_BASE_TYPE_INTEGER1 

Fortran integer*1.

OMPI_OP_BASE_TYPE_INTEGER2 

Fortran integer*2.

OMPI_OP_BASE_TYPE_INTEGER4 

Fortran integer*4.

OMPI_OP_BASE_TYPE_INTEGER8 

Fortran integer*8.

OMPI_OP_BASE_TYPE_INTEGER16 

Fortran integer*16.

OMPI_OP_BASE_TYPE_FLOAT 

Floating point: float.

OMPI_OP_BASE_TYPE_DOUBLE 

Floating point: double.

OMPI_OP_BASE_TYPE_REAL 

Floating point: real.

OMPI_OP_BASE_TYPE_REAL2 

Floating point: real*2.

OMPI_OP_BASE_TYPE_REAL4 

Floating point: real*4.

OMPI_OP_BASE_TYPE_REAL8 

Floating point: real*8.

OMPI_OP_BASE_TYPE_REAL16 

Floating point: real*16.

OMPI_OP_BASE_TYPE_DOUBLE_PRECISION 

Floating point: double precision.

OMPI_OP_BASE_TYPE_LONG_DOUBLE 

Floating point: long double.

OMPI_OP_BASE_TYPE_LOGICAL 

Logical.

OMPI_OP_BASE_TYPE_BOOL 

Bool.

OMPI_OP_BASE_TYPE_C_FLOAT_COMPLEX 

Complex.

OMPI_OP_BASE_TYPE_C_DOUBLE_COMPLEX 
OMPI_OP_BASE_TYPE_C_LONG_DOUBLE_COMPLEX 
OMPI_OP_BASE_TYPE_BYTE 

Byte.

OMPI_OP_BASE_TYPE_2REAL 

2 location Fortran: 2 real

OMPI_OP_BASE_TYPE_2DOUBLE_PRECISION 

2 location Fortran: 2 double precision

OMPI_OP_BASE_TYPE_2INTEGER 

2 location Fortran: 2 integer

OMPI_OP_BASE_TYPE_FLOAT_INT 

2 location C: float int

OMPI_OP_BASE_TYPE_DOUBLE_INT 

2 location C: double int

OMPI_OP_BASE_TYPE_LONG_INT 

2 location C: long int

OMPI_OP_BASE_TYPE_2INT 

2 location C: int int

OMPI_OP_BASE_TYPE_SHORT_INT 

2 location C: short int

OMPI_OP_BASE_TYPE_LONG_DOUBLE_INT 

2 location C: long double int

OMPI_OP_BASE_TYPE_WCHAR 

2 location C: wchar_t

OMPI_OP_BASE_TYPE_MAX 

Maximum type.

OMPI_OSC_PT2PT_PEER_FLAG_UNEX 

peer has sent an unexpected post message (no matching start)

OMPI_OSC_PT2PT_PEER_FLAG_EAGER 

eager sends are active on this peer

OMPI_OSC_PT2PT_PEER_FLAG_LOCK 

peer has been locked (on-demand locking for lock_all)

OMPI_OSC_RDMA_LOCKING_TWO_LEVEL 
OMPI_OSC_RDMA_LOCKING_ON_DEMAND 
OMPI_OSC_RDMA_PEER_EXCLUSIVE 

peer is locked for exclusive access

OMPI_OSC_RDMA_PEER_LOCAL_BASE 

peer's base is accessible with direct loads/stores

OMPI_OSC_RDMA_PEER_LOCAL_STATE 

peer state is local

OMPI_OSC_RDMA_PEER_ACCUMULATING 

currently accumulating on peer

OMPI_OSC_RDMA_PEER_ACCESS_ACTIVE_EPOCH 

peer is in an active access epoch (pscw)

OMPI_OSC_RDMA_PEER_STATE_FREE 

peer state handle should be freed

OMPI_OSC_RDMA_PEER_BASE_FREE 

peer base handle should be freed

OMPI_OSC_RDMA_PEER_DEMAND_LOCKED 

peer was demand locked as part of lock-all (when in demand locking mode)

MCA_PML_UCX_REQUEST_FLAG_SEND 
MCA_PML_UCX_REQUEST_FLAG_FREE_CALLED 
MCA_PML_UCX_REQUEST_FLAG_COMPLETED 
ROOT_NODE 
LEAF_NODE 
INTERIOR_NODE 
EXCHANGE_NODE 
EXTRA_NODE 
PERUSE_TYPE_INVALID 
PERUSE_TYPE_COMM 
PERUSE_TYPE_FILE 
PERUSE_TYPE_WIN 
PERUSE_SUCCESS 
PERUSE_ERR_INIT 
PERUSE_ERR_GENERIC 
PERUSE_ERR_MALLOC 
PERUSE_ERR_EVENT 
PERUSE_ERR_EVENT_HANDLE 
PERUSE_ERR_PARAMETER 
PERUSE_ERR_MPI_INIT 
PERUSE_ERR_COMM 
PERUSE_ERR_MPI_OBJECT 
HPCTIMER_SUCCESS 
HPCTIMER_FAILURE 
OPAL_SUCCESS 
OPAL_ERROR 
OPAL_ERR_OUT_OF_RESOURCE 
OPAL_ERR_TEMP_OUT_OF_RESOURCE 
OPAL_ERR_RESOURCE_BUSY 
OPAL_ERR_BAD_PARAM 
OPAL_ERR_FATAL 
OPAL_ERR_NOT_IMPLEMENTED 
OPAL_ERR_NOT_SUPPORTED 
OPAL_ERR_INTERRUPTED 
OPAL_ERR_WOULD_BLOCK 
OPAL_ERR_IN_ERRNO 
OPAL_ERR_UNREACH 
OPAL_ERR_NOT_FOUND 
OPAL_EXISTS 
OPAL_ERR_TIMEOUT 
OPAL_ERR_NOT_AVAILABLE 
OPAL_ERR_PERM 
OPAL_ERR_VALUE_OUT_OF_BOUNDS 
OPAL_ERR_FILE_READ_FAILURE 
OPAL_ERR_FILE_WRITE_FAILURE 
OPAL_ERR_FILE_OPEN_FAILURE 
OPAL_ERR_PACK_MISMATCH 
OPAL_ERR_PACK_FAILURE 
OPAL_ERR_UNPACK_FAILURE 
OPAL_ERR_UNPACK_INADEQUATE_SPACE 
OPAL_ERR_UNPACK_READ_PAST_END_OF_BUFFER 
OPAL_ERR_TYPE_MISMATCH 
OPAL_ERR_OPERATION_UNSUPPORTED 
OPAL_ERR_UNKNOWN_DATA_TYPE 
OPAL_ERR_BUFFER 
OPAL_ERR_DATA_TYPE_REDEF 
OPAL_ERR_DATA_OVERWRITE_ATTEMPT 
OPAL_ERR_MODULE_NOT_FOUND 
OPAL_ERR_TOPO_SLOT_LIST_NOT_SUPPORTED 
OPAL_ERR_TOPO_SOCKET_NOT_SUPPORTED 
OPAL_ERR_TOPO_CORE_NOT_SUPPORTED 
OPAL_ERR_NOT_ENOUGH_SOCKETS 
OPAL_ERR_NOT_ENOUGH_CORES 
OPAL_ERR_INVALID_PHYS_CPU 
OPAL_ERR_MULTIPLE_AFFINITIES 
OPAL_ERR_SLOT_LIST_RANGE 
OPAL_ERR_NETWORK_NOT_PARSEABLE 
OPAL_ERR_SILENT 
OPAL_ERR_NOT_INITIALIZED 
OPAL_ERR_NOT_BOUND 
OPAL_ERR_TAKE_NEXT_OPTION 
OPAL_ERR_PROC_ENTRY_NOT_FOUND 
OPAL_ERR_DATA_VALUE_NOT_FOUND 
OPAL_ERR_CONNECTION_FAILED 
OPAL_ERR_AUTHENTICATION_FAILED 
OPAL_ERR_COMM_FAILURE 
OPAL_ERR_SERVER_NOT_AVAIL 
OPAL_ERR_IN_PROCESS 
OPAL_ERR_DEBUGGER_RELEASE 
OPAL_ERR_HANDLERS_COMPLETE 
OPAL_ERR_PARTIAL_SUCCESS 
OPAL_ERR_PROC_ABORTED 
OPAL_ERR_PROC_REQUESTED_ABORT 
OPAL_ERR_PROC_ABORTING 
OPAL_ERR_NODE_DOWN 
OPAL_ERR_NODE_OFFLINE 
OPAL_ERR_JOB_TERMINATED 
OPAL_ERR_PROC_RESTART 
OPAL_ERR_PROC_CHECKPOINT 
OPAL_ERR_PROC_MIGRATE 
OPAL_ERR_EVENT_REGISTRATION 
OPAL_ERR_HEARTBEAT_ALERT 
OPAL_ERR_FILE_ALERT 
OPAL_ERR_MODEL_DECLARED 
OPAL_ATOMIC_LOCK_UNLOCKED 
OPAL_ATOMIC_LOCK_LOCKED 
MCA_BASE_VERBOSE_NONE 

total silence

MCA_BASE_VERBOSE_ERROR 

only errors are printed

MCA_BASE_VERBOSE_COMPONENT 

emit messages about component selection, open, and unloading

MCA_BASE_VERBOSE_WARN 

also emit warnings

MCA_BASE_VERBOSE_INFO 

also emit general, user-relevant information, such as rationale as to why certain choices or code paths were taken, information gleaned from probing the local system, etc.

MCA_BASE_VERBOSE_TRACE 

also emit relevant tracing information (e.g., which functions were invoked / call stack entry/exit info)

MCA_BASE_VERBOSE_DEBUG 

also emit Open MPI-developer-level (i.e,.

highly detailed) information

MCA_BASE_VERBOSE_MAX 

also output anything else that might be useful

MCA_BASE_PVAR_CLASS_STATE 

Variable represents a state.

MCA_BASE_PVAR_CLASS_LEVEL 

Variable represents a the utilization level of a resource.

MCA_BASE_PVAR_CLASS_SIZE 

Variable represents the fixed size of a resource.

MCA_BASE_PVAR_CLASS_PERCENTAGE 

Variable represents the utilization level of a resource.

Valid type: double

MCA_BASE_PVAR_CLASS_HIGHWATERMARK 

Variable describes the high-watermark of the utilization of a resource.

MCA_BASE_PVAR_CLASS_LOWWATERMARK 

Variable describes the low-watermark of the utilization of a resource.

MCA_BASE_PVAR_CLASS_COUNTER 

Variable counts the number of occurences of a specific event.

MCA_BASE_PVAR_CLASS_AGGREGATE 

Variable represents a sum of arguments processed during a specific event.

MCA_BASE_PVAR_CLASS_TIMER 

Variable represents the aggregated time that is spent executing an specific event.

MCA_BASE_PVAR_CLASS_GENERIC 

Variable doesn't fit any other class.

MCA_BTL_REG_FLAG_LOCAL_WRITE 

Allow local write on the registered region.

If a region is registered with this flag the registration can be used as the local handle for a btl_get operation.

MCA_BTL_REG_FLAG_REMOTE_READ 

Allow remote read on the registered region.

If a region is registered with this flag the registration can be used as the remote handle for a btl_get operation.

MCA_BTL_REG_FLAG_REMOTE_WRITE 

Allow remote write on the registered region.

If a region is registered with this flag the registration can be used as the remote handle for a btl_put operation.

MCA_BTL_REG_FLAG_REMOTE_ATOMIC 

Allow remote atomic operations on the registered region.

If a region is registered with this flag the registration can be used as the remote handle for a btl_atomic_op or btl_atomic_fop operation.

MCA_BTL_REG_FLAG_ACCESS_ANY 

Allow any btl operation on the registered region.

If a region is registered with this flag the registration can be used as the local or remote handle for any btl operation.

BTL_OPENIB_HP_CQ 
BTL_OPENIB_LP_CQ 
BTL_OPENIB_MAX_CQ 
BTL_OPENIB_INI_PARSE_DONE 
BTL_OPENIB_INI_PARSE_ERROR 
BTL_OPENIB_INI_PARSE_NEWLINE 
BTL_OPENIB_INI_PARSE_SECTION 
BTL_OPENIB_INI_PARSE_EQUAL 
BTL_OPENIB_INI_PARSE_SINGLE_WORD 
BTL_OPENIB_INI_PARSE_VALUE 
BTL_OPENIB_INI_PARSE_MAX 
REGINT_NEG_ONE_OK 
REGINT_GE_ZERO 
REGINT_GE_ONE 
REGINT_NONZERO 
REGINT_MAX 
MCA_BTL_UGNI_RCACHE_UDREG 
MCA_BTL_UGNI_RCACHE_GRDMA 
MCA_BTL_UGNI_FRAG_BUFFERED 
MCA_BTL_UGNI_FRAG_COMPLETE 
MCA_BTL_UGNI_FRAG_EAGER 
MCA_BTL_UGNI_FRAG_IGNORE 
MCA_BTL_UGNI_FRAG_SMSG_COMPLETE 
MCA_BTL_UGNI_FRAG_RESPONSE 
CONNECTIVITY_AGENT_CMD_LISTEN 
CONNECTIVITY_AGENT_CMD_PING 
CONNECTIVITY_AGENT_CMD_UNLISTEN 
CONNECTIVITY_AGENT_CMD_MAX 
REGINT_NEG_ONE_OK 
REGINT_GE_ZERO 
REGINT_GE_ONE 
REGINT_NONZERO 
REGINT_MAX 
WEIGHT_UNREACHABLE 
MCA_BTL_VADER_XPMEM 
MCA_BTL_VADER_CMA 
MCA_BTL_VADER_KNEM 
MCA_BTL_VADER_NONE 
MCA_BTL_VADER_FLAG_INLINE 
MCA_BTL_VADER_FLAG_SINGLE_COPY 
MCA_BTL_VADER_FLAG_COMPLETE 
MCA_BTL_VADER_FLAG_SETUP_FBOX 
OPAL_COMMON_VERBS_FLAGS_RC 
OPAL_COMMON_VERBS_FLAGS_NOT_RC 
OPAL_COMMON_VERBS_FLAGS_UD 
OPAL_COMMON_VERBS_FLAGS_TRANSPORT_IB 
OPAL_COMMON_VERBS_FLAGS_TRANSPORT_IWARP 
OPAL_COMMON_VERBS_FLAGS_LINK_LAYER_IB 
OPAL_COMMON_VERBS_FLAGS_LINK_LAYER_ETHERNET 
OPAL_COMMON_VERBS_FLAGS_MAX 
OPAL_PROC_LOCALITY_UNKNOWN 
OPAL_PROC_NON_LOCAL 
OPAL_PROC_ON_CLUSTER 
OPAL_PROC_ON_CU 
OPAL_PROC_ON_HOST 
OPAL_PROC_ON_BOARD 
OPAL_PROC_ON_NODE 
OPAL_PROC_ON_NUMA 
OPAL_PROC_ON_SOCKET 
OPAL_PROC_ON_L3CACHE 
OPAL_PROC_ON_L2CACHE 
OPAL_PROC_ON_L1CACHE 
OPAL_PROC_ON_CORE 
OPAL_PROC_ON_HWTHREAD 
OPAL_PROC_ALL_LOCAL 
MCA_BASE_COMPONENT_FLAG_REQUIRED 

Always consider this component for selection.

For this flag to work properly the component must always be built statically.

Enforecement of this flag is left to the individual frameworks so as to limit its use. See discussion from the Open MPI face-to-face meeting Jan. 2017

PMIX_MCA_BASE_VERBOSE_NONE 

total silence

PMIX_MCA_BASE_VERBOSE_ERROR 

only errors are printed

PMIX_MCA_BASE_VERBOSE_COMPONENT 

emit messages about component selection, open, and unloading

PMIX_MCA_BASE_VERBOSE_WARN 

also emit warnings

PMIX_MCA_BASE_VERBOSE_INFO 

also emit general, user-relevant information, such as rationale as to why certain choices or code paths were taken, information gleaned from probing the local system, etc.

PMIX_MCA_BASE_VERBOSE_TRACE 

also emit relevant tracing information (e.g., which functions were invoked / call stack entry/exit info)

PMIX_MCA_BASE_VERBOSE_DEBUG 

also emit PMIX-developer-level (i.e,.

highly detailed) information

PMIX_MCA_BASE_VERBOSE_MAX 

also output anything else that might be useful

PMIX_SHOW_HELP_PARSE_DONE 
PMIX_SHOW_HELP_PARSE_ERROR 
PMIX_SHOW_HELP_PARSE_TOPIC 
PMIX_SHOW_HELP_PARSE_MESSAGE 
PMIX_SHOW_HELP_PARSE_MAX 
MCA_RCACHE_FLAGS_CACHE_BYPASS 

bypass the cache when registering

MCA_RCACHE_FLAGS_PERSIST 

persistent registration

MCA_RCACHE_FLAGS_SO_MEM 

registation requires strong ordering (disables relaxed ordering)

MCA_RCACHE_FLAGS_CUDA_GPU_MEM 

address range is cuda buffer

MCA_RCACHE_FLAGS_CUDA_REGISTER_MEM 

register with common cuda

MCA_RCACHE_FLAGS_INVALID 

invalid registration (no valid for passing to rcache register)

MCA_RCACHE_FLAGS_RESV0 

reserved for register function

MCA_RCACHE_FLAGS_RESV1 

reserved for register function

MCA_RCACHE_FLAGS_RESV2 

reserved for register function

MCA_RCACHE_FLAGS_RESV3 

reserved for register function

OPAL_SHOW_HELP_PARSE_DONE 
OPAL_SHOW_HELP_PARSE_ERROR 
OPAL_SHOW_HELP_PARSE_TOPIC 
OPAL_SHOW_HELP_PARSE_MESSAGE 
OPAL_SHOW_HELP_PARSE_MAX 
ORTE_SUCCESS 
ORTE_ERROR 
ORTE_ERR_OUT_OF_RESOURCE 
ORTE_ERR_TEMP_OUT_OF_RESOURCE 
ORTE_ERR_RESOURCE_BUSY 
ORTE_ERR_BAD_PARAM 
ORTE_ERR_FATAL 
ORTE_ERR_NOT_IMPLEMENTED 
ORTE_ERR_NOT_SUPPORTED 
ORTE_ERR_INTERUPTED 
ORTE_ERR_WOULD_BLOCK 
ORTE_ERR_IN_ERRNO 
ORTE_ERR_UNREACH 
ORTE_ERR_NOT_FOUND 
ORTE_EXISTS 
ORTE_ERR_TIMEOUT 
ORTE_ERR_NOT_AVAILABLE 
ORTE_ERR_PERM 
ORTE_ERR_VALUE_OUT_OF_BOUNDS 
ORTE_ERR_FILE_READ_FAILURE 
ORTE_ERR_FILE_WRITE_FAILURE 
ORTE_ERR_FILE_OPEN_FAILURE 
ORTE_ERR_PACK_MISMATCH 
ORTE_ERR_PACK_FAILURE 
ORTE_ERR_UNPACK_FAILURE 
ORTE_ERR_UNPACK_INADEQUATE_SPACE 
ORTE_ERR_UNPACK_READ_PAST_END_OF_BUFFER 
ORTE_ERR_TYPE_MISMATCH 
ORTE_ERR_OPERATION_UNSUPPORTED 
ORTE_ERR_UNKNOWN_DATA_TYPE 
ORTE_ERR_BUFFER 
ORTE_ERR_DATA_TYPE_REDEF 
ORTE_ERR_DATA_OVERWRITE_ATTEMPT 
ORTE_ERR_MODULE_NOT_FOUND 
ORTE_ERR_TOPO_SLOT_LIST_NOT_SUPPORTED 
ORTE_ERR_TOPO_SOCKET_NOT_SUPPORTED 
ORTE_ERR_TOPO_CORE_NOT_SUPPORTED 
ORTE_ERR_NOT_ENOUGH_SOCKETS 
ORTE_ERR_NOT_ENOUGH_CORES 
ORTE_ERR_INVALID_PHYS_CPU 
ORTE_ERR_MULTIPLE_AFFINITIES 
ORTE_ERR_SLOT_LIST_RANGE 
ORTE_ERR_SILENT 
ORTE_ERR_NOT_INITIALIZED 
ORTE_ERR_NOT_BOUND 
ORTE_ERR_TAKE_NEXT_OPTION 
ORTE_ERR_PROC_ENTRY_NOT_FOUND 
ORTE_ERR_DATA_VALUE_NOT_FOUND 
ORTE_ERR_CONNECTION_FAILED 
ORTE_ERR_AUTHENTICATION_FAILED 
ORTE_ERR_COMM_FAILURE 
ORTE_ERR_DEBUGGER_RELEASE 
ORTE_ERR_PARTIAL_SUCCESS 
ORTE_ERR_PROC_ABORTED 
ORTE_ERR_PROC_REQUESTED_ABORT 
ORTE_ERR_PROC_ABORTING 
ORTE_ERR_NODE_DOWN 
ORTE_ERR_NODE_OFFLINE 
ORTE_ERR_RECV_LESS_THAN_POSTED 
ORTE_ERR_RECV_MORE_THAN_POSTED 
ORTE_ERR_NO_MATCH_YET 
ORTE_ERR_REQUEST 
ORTE_ERR_NO_CONNECTION_ALLOWED 
ORTE_ERR_CONNECTION_REFUSED 
ORTE_ERR_COMPARE_FAILURE 
ORTE_ERR_COPY_FAILURE 
ORTE_ERR_PROC_STATE_MISSING 
ORTE_ERR_PROC_EXIT_STATUS_MISSING 
ORTE_ERR_INDETERMINATE_STATE_INFO 
ORTE_ERR_NODE_FULLY_USED 
ORTE_ERR_INVALID_NUM_PROCS 
ORTE_ERR_ADDRESSEE_UNKNOWN 
ORTE_ERR_SYS_LIMITS_PIPES 
ORTE_ERR_PIPE_SETUP_FAILURE 
ORTE_ERR_SYS_LIMITS_CHILDREN 
ORTE_ERR_FAILED_GET_TERM_ATTRS 
ORTE_ERR_WDIR_NOT_FOUND 
ORTE_ERR_EXE_NOT_FOUND 
ORTE_ERR_PIPE_READ_FAILURE 
ORTE_ERR_EXE_NOT_ACCESSIBLE 
ORTE_ERR_FAILED_TO_START 
ORTE_ERR_FILE_NOT_EXECUTABLE 
ORTE_ERR_HNP_COULD_NOT_START 
ORTE_ERR_SYS_LIMITS_SOCKETS 
ORTE_ERR_SOCKET_NOT_AVAILABLE 
ORTE_ERR_SYSTEM_WILL_BOOTSTRAP 
ORTE_ERR_RESTART_LIMIT_EXCEEDED 
ORTE_ERR_INVALID_NODE_RANK 
ORTE_ERR_INVALID_LOCAL_RANK 
ORTE_ERR_UNRECOVERABLE 
ORTE_ERR_MEM_LIMIT_EXCEEDED 
ORTE_ERR_HEARTBEAT_LOST 
ORTE_ERR_PROC_STALLED 
ORTE_ERR_NO_APP_SPECIFIED 
ORTE_ERR_NO_EXE_SPECIFIED 
ORTE_ERR_COMM_DISABLED 
ORTE_ERR_FAILED_TO_MAP 
ORTE_ERR_SENSOR_LIMIT_EXCEEDED 
ORTE_ERR_ALLOCATION_PENDING 
ORTE_ERR_NO_PATH_TO_TARGET 
ORTE_ERR_OP_IN_PROGRESS 
ORTE_ERR_OPEN_CONDUIT_FAIL 
ORTE_ERR_DUPLICATE_MSG 
ORTE_ERR_OUT_OF_ORDER_MSG 
ORTE_ERR_FORCE_SELECT 
ORTE_ERR_JOB_CANCELLED 
ORTE_ERR_CONDUIT_SEND_FAIL 
MCA_OOB_UD_SEND_WR 
MCA_OOB_UD_RECV_WR 
OSHMEM_SUCCESS 
OSHMEM_ERROR 
OSHMEM_ERR_OUT_OF_RESOURCE 
OSHMEM_ERR_TEMP_OUT_OF_RESOURCE 
OSHMEM_ERR_RESOURCE_BUSY 
OSHMEM_ERR_BAD_PARAM 
OSHMEM_ERR_FATAL 
OSHMEM_ERR_NOT_IMPLEMENTED 
OSHMEM_ERR_NOT_SUPPORTED 
OSHMEM_ERR_INTERUPTED 
OSHMEM_ERR_WOULD_BLOCK 
OSHMEM_ERR_IN_ERRNO 
OSHMEM_ERR_UNREACH 
OSHMEM_ERR_NOT_FOUND 
OSHMEM_EXISTS 
OSHMEM_ERR_TIMEOUT 
OSHMEM_ERR_NOT_AVAILABLE 
OSHMEM_ERR_PERM 
OSHMEM_ERR_VALUE_OUT_OF_BOUNDS 
OSHMEM_ERR_FILE_READ_FAILURE 
OSHMEM_ERR_FILE_WRITE_FAILURE 
OSHMEM_ERR_FILE_OPEN_FAILURE 
OSHMEM_ERR_RECV_LESS_THAN_POSTED 
OSHMEM_ERR_RECV_MORE_THAN_POSTED 
OSHMEM_ERR_NO_MATCH_YET 
OSHMEM_ERR_BUFFER 
OSHMEM_ERR_REQUEST 
OSHMEM_ERR_NO_CONNECTION_ALLOWED 
OSHMEM_ERR_CONNECTION_REFUSED 
OSHMEM_ERR_CONNECTION_FAILED 
OSHMEM_PACK_MISMATCH 
OSHMEM_ERR_PACK_FAILURE 
OSHMEM_ERR_UNPACK_FAILURE 
OSHMEM_ERR_COMM_FAILURE 
OSHMEM_UNPACK_INADEQUATE_SPACE 
OSHMEM_UNPACK_READ_PAST_END_OF_BUFFER 
OSHMEM_ERR_TYPE_MISMATCH 
OSHMEM_ERR_COMPARE_FAILURE 
OSHMEM_ERR_COPY_FAILURE 
OSHMEM_ERR_UNKNOWN_DATA_TYPE 
OSHMEM_ERR_DATA_TYPE_REDEF 
OSHMEM_ERR_DATA_OVERWRITE_ATTEMPT 
ATOMIC_LOCK_IDLE 
ATOMIC_LOCK_WAITING 
ATOMIC_LOCK_ACTIVE 
SHMEM_SYNC_INIT 
SHMEM_SYNC_WAIT 
SHMEM_SYNC_RUN 
SHMEM_SYNC_READY 
REGINT_NEG_ONE_OK 
REGINT_GE_ZERO 
REGINT_GE_ONE 
REGINT_NONZERO 
REGINT_MAX 
OSHMEM_OP_TYPE_SHORT 
OSHMEM_OP_TYPE_INT 

C integer: short.

OSHMEM_OP_TYPE_LONG 

C integer: int.

OSHMEM_OP_TYPE_LLONG 

C integer: long.

OSHMEM_OP_TYPE_INT16_T 

C integer: long long.

OSHMEM_OP_TYPE_INT32_T 

C integer: int16_t.

OSHMEM_OP_TYPE_INT64_T 

C integer: int32_t.

OSHMEM_OP_TYPE_FLOAT 

C integer: int64_t.

OSHMEM_OP_TYPE_DOUBLE 

Floating point: float.

OSHMEM_OP_TYPE_LDOUBLE 

Floating point: double.

OSHMEM_OP_TYPE_FCOMPLEX 

Floating point: long double.

OSHMEM_OP_TYPE_DCOMPLEX 

Complex: float.

OSHMEM_OP_TYPE_FINT2 

Complex: double.

OSHMEM_OP_TYPE_FINT4 

Fortran integer: int2.

OSHMEM_OP_TYPE_FINT8 

Fortran integer: int4.

OSHMEM_OP_TYPE_FREAL4 

Fortran integer: int8.

OSHMEM_OP_TYPE_FREAL8 

Fortran integer: real4.

OSHMEM_OP_TYPE_FREAL16 

Fortran integer: real8.

OSHMEM_OP_TYPE_NUMBER 

Fortran integer: real16.

Maximum type

SHMEM_THREAD_SINGLE 
SHMEM_THREAD_FUNNELED 
SHMEM_THREAD_SERIALIZED 
SHMEM_THREAD_MULTIPLE 

Definition at line 49 of file errhandler.h.

◆ ompi_errhandler_lang_t

Enum to denote what language the error handler was created from.

Enumerator
OMPI_ERRHANDLER_LANG_C 
OMPI_ERRHANDLER_LANG_CXX 
OMPI_ERRHANDLER_LANG_FORTRAN 

Definition at line 70 of file errhandler.h.

◆ ompi_errhandler_type_t

Enum used to describe what kind MPI object an error handler is used for.

Enumerator
OMPI_ERRHANDLER_TYPE_PREDEFINED 
OMPI_ERRHANDLER_TYPE_COMM 
OMPI_ERRHANDLER_TYPE_WIN 
OMPI_ERRHANDLER_TYPE_FILE 

Definition at line 81 of file errhandler.h.

Function Documentation

◆ ompi_errhandler_callback()

void ompi_errhandler_callback ( int  status,
const opal_process_name_t source,
opal_list_t info,
opal_list_t results,
opal_pmix_notification_complete_fn_t  cbfunc,
void *  cbdata 
)

Default errhandler callback.

Definition at line 238 of file errhandler.c.

References cbfunc(), NULL, OMPI_ERR_HANDLERS_COMPLETE, and ompi_mpi_abort().

Referenced by ompi_mpi_init().

◆ ompi_errhandler_create()

ompi_errhandler_t* ompi_errhandler_create ( ompi_errhandler_type_t  object_type,
ompi_errhandler_generic_handler_fn_t func,
ompi_errhandler_lang_t  language 
)

Create a ompi_errhandler_t.

Parameters
object_typeEnum of the type of MPI object
funcFunction pointer of the error handler
Returns
errhandler Pointer to the ompi_errorhandler_t that will be created and returned

This function is called as the back-end of all the MPI_*_CREATE_ERRHANDLER functions. It creates a new ompi_errhandler_t object, initializes it to the correct object type, and sets the callback function on it.

The type of the function pointer is (arbitrarily) the fortran function handler type. Since this function has to accept 4 different function pointer types (lest we have 4 different functions to create errhandlers), the fortran one was picked arbitrarily. Note that (void*) is not sufficient because at least theoretically, a sizeof(void*) may not necessarily be the same as sizeof(void(*)).

Definition at line 178 of file errhandler.c.

References ompi_errhandler_t::eh_comm_fn, ompi_errhandler_t::eh_f_to_c_index, ompi_errhandler_t::eh_file_fn, ompi_errhandler_t::eh_fort_fn, ompi_errhandler_t::eh_lang, ompi_errhandler_t::eh_mpi_object_type, ompi_errhandler_t::eh_win_fn, NULL, OBJ_NEW, OBJ_RELEASE, OMPI_ERRHANDLER_TYPE_COMM, OMPI_ERRHANDLER_TYPE_FILE, and OMPI_ERRHANDLER_TYPE_WIN.

Referenced by MPI_Comm_create_errhandler(), MPI_File_create_errhandler(), MPI_Win_create_errhandler(), ompi_cxx_errhandler_create_comm(), ompi_cxx_errhandler_create_file(), ompi_cxx_errhandler_create_win(), and OMPI_GENERATE_F77_BINDINGS().

◆ ompi_errhandler_finalize()

int ompi_errhandler_finalize ( void  )

Finalize the error handler interface.

Returns
OMPI_SUCCESS Always

Invokes from ompi_mpi_finalize(); tears down the error handler interface, and destroys the F2C translation table.

Definition at line 157 of file errhandler.c.

References default_errhandler_id, opal_pmix_base_module_t::deregister_evhandler, ompi_predefined_errhandler_t::eh, NULL, OBJ_DESTRUCT, ompi_errhandler_f_to_c_table, ompi_mpi_errhandler_null, ompi_mpi_errors_are_fatal, ompi_mpi_errors_return, ompi_mpi_errors_throw_exceptions, OMPI_SUCCESS, and opal_pmix.

Referenced by ompi_mpi_finalize().

◆ ompi_errhandler_init()

◆ ompi_errhandler_invoke()

◆ ompi_errhandler_is_intrinsic()

static bool ompi_errhandler_is_intrinsic ( ompi_errhandler_t errhandler)
inlinestatic

Check to see if an errhandler is intrinsic.

Parameters
errhandlerThe errhandler to check
Returns
true If the errhandler is intrinsic
false If the errhandler is not intrinsic

Self-explanitory. This is needed in a few top-level MPI functions; this function is provided to hide the internal structure field names.

Definition at line 416 of file errhandler.h.

References ompi_errhandler_t::eh_mpi_object_type, and OMPI_ERRHANDLER_TYPE_PREDEFINED.

Referenced by MPI_Errhandler_free().

◆ ompi_errhandler_registration_callback()

void ompi_errhandler_registration_callback ( int  status,
size_t  errhandler_ref,
void *  cbdata 
)

◆ ompi_errhandler_request_invoke()

int ompi_errhandler_request_invoke ( int  count,
struct ompi_request_t **  requests,
const char *  message 
)

Invoke an MPI exception 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.

Definition at line 120 of file errhandler_invoke.c.

References ompi_mpi_object_t::comm, count, ompi_communicator_t::errhandler_type, ompi_file_t::errhandler_type, ompi_win_t::errhandler_type, ompi_communicator_t::error_handler, ompi_file_t::error_handler, ompi_win_t::error_handler, ompi_mpi_object_t::file, ompi_errcode_get_mpi_code(), ompi_errhandler_invoke(), ompi_request_free(), OMPI_REQUEST_IO, OMPI_REQUEST_PML, OMPI_REQUEST_WIN, requests, and ompi_mpi_object_t::win.

Referenced by MPI_Testall(), MPI_Testany(), MPI_Testsome(), MPI_Wait(), MPI_Waitall(), MPI_Waitany(), and MPI_Waitsome().

Variable Documentation

◆ ompi_errhandler_f_to_c_table

opal_pointer_array_t ompi_errhandler_f_to_c_table
extern

Table for Fortran <-> C errhandler handle conversion.

Definition at line 40 of file errhandler.c.

Referenced by MPI_Errhandler_f2c(), ompi_errhandler_construct(), ompi_errhandler_destruct(), ompi_errhandler_finalize(), and ompi_errhandler_init().

◆ ompi_mpi_errhandler_null

ompi_predefined_errhandler_t ompi_mpi_errhandler_null
extern

Global variable for MPI_ERRHANDLER_NULL (_addr flavor is for F03 bindings)

Definition at line 64 of file errhandler.c.

Referenced by ompi_errhandler_finalize(), and ompi_errhandler_init().

◆ ompi_mpi_errhandler_null_addr

ompi_predefined_errhandler_t* ompi_mpi_errhandler_null_addr
extern

Definition at line 65 of file errhandler.c.

◆ ompi_mpi_errors_are_fatal

ompi_predefined_errhandler_t ompi_mpi_errors_are_fatal
extern

Global variable for MPI_ERRORS_ARE_FATAL (_addr flavor is for F03 bindings)

Definition at line 67 of file errhandler.c.

Referenced by ompi_comm_init(), ompi_errhandler_finalize(), ompi_errhandler_init(), and ompi_win_construct().

◆ ompi_mpi_errors_are_fatal_addr

ompi_predefined_errhandler_t* ompi_mpi_errors_are_fatal_addr
extern

Definition at line 68 of file errhandler.c.

◆ ompi_mpi_errors_return

ompi_predefined_errhandler_t ompi_mpi_errors_return
extern

Global variable for MPI_ERRORS_RETURN (_addr flavor is for F03 bindings)

Definition at line 70 of file errhandler.c.

Referenced by file_constructor(), mca_io_romio314_file_close(), ompi_errhandler_finalize(), and ompi_errhandler_init().

◆ ompi_mpi_errors_return_addr

ompi_predefined_errhandler_t* ompi_mpi_errors_return_addr
extern

Definition at line 71 of file errhandler.c.

◆ ompi_mpi_errors_throw_exceptions

ompi_predefined_errhandler_t ompi_mpi_errors_throw_exceptions
extern

Global variable for MPI::ERRORS_THROW_EXCEPTIONS.

Will abort if MPI_INIT wasn't called as MPI::INIT (_addr flavor is for F03 bindings)

Definition at line 73 of file errhandler.c.

OPAL_CR_EXIT_LIBRARY
#define OPAL_CR_EXIT_LIBRARY()
Definition: opal_cr.h:204
OMPI_MPI_STATE_FINALIZE_PAST_COMM_SELF_DESTRUCT
@ OMPI_MPI_STATE_FINALIZE_PAST_COMM_SELF_DESTRUCT
Definition: mpiruntime.h:86
OPAL_UNLIKELY
#define OPAL_UNLIKELY(expression)
Definition: prefetch.h:47
OMPI_SUCCESS
@ OMPI_SUCCESS
Definition: constants.h:35
name
char * name
Definition: orted_main.c:131
ompi_errhandler_invoke
int ompi_errhandler_invoke(ompi_errhandler_t *errhandler, void *mpi_object, int type, int err_code, const char *message)
Definition: errhandler_invoke.c:36
ompi_mpi_state
volatile int32_t ompi_mpi_state
Did MPI start to initialize?
Definition: ompi_mpi_init.c:133
ompi_errcode_get_mpi_code
static int ompi_errcode_get_mpi_code(int errcode)
Return the MPI errcode for a given internal error code.
Definition: errcode-internal.h:57
OMPI_MPI_STATE_INIT_COMPLETED
@ OMPI_MPI_STATE_INIT_COMPLETED
Definition: mpiruntime.h:77
NULL
#define NULL
Copyright (C) 2000-2004 by Etnus, LLC.
Definition: ompi_msgq_dll.c:136