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)  

mpiruntime.h File Reference
Include dependency graph for mpiruntime.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define OMPI_THREADLEVEL_SINGLE_BF   0x00000001
 Bitflags to be used for the modex exchange for the various thread levels. More...
 
#define OMPI_THREADLEVEL_FUNNELED_BF   0x00000002
 
#define OMPI_THREADLEVEL_SERIALIZED_BF   0x00000004
 
#define OMPI_THREADLEVEL_MULTIPLE_BF   0x00000008
 
#define OMPI_THREADLEVEL_SET_BITFLAG(threadlevelin, threadlevelout)
 
#define OMPI_THREADLEVEL_IS_MULTIPLE(threadlevel)   (threadlevel & OMPI_THREADLEVEL_MULTIPLE_BF)
 

Enumerations

enum  ompi_mpi_state_t {
  OMPI_MPI_STATE_NOT_INITIALIZED = 0, OMPI_MPI_STATE_INIT_STARTED, OMPI_MPI_STATE_INIT_COMPLETED, OMPI_MPI_STATE_FINALIZE_STARTED,
  OMPI_MPI_STATE_FINALIZE_PAST_COMM_SELF_DESTRUCT, OMPI_MPI_STATE_FINALIZE_COMPLETED
}
 

Functions

void ompi_mpi_thread_level (int requested, int *provided)
 Determine the thread level. More...
 
int ompi_mpi_init (int argc, char **argv, int requested, int *provided, bool reinit_ok)
 Initialize the Open MPI MPI environment. More...
 
int ompi_mpi_finalize (void)
 Finalize the Open MPI MPI environment. More...
 
int ompi_mpi_abort (struct ompi_communicator_t *comm, int errcode)
 Abort the processes of comm. More...
 
int ompi_init_preconnect_mpi (void)
 Do a preconnect of MPI connections (i.e., force connections to be made if they will be made). More...
 
void ompi_mpi_dynamics_disable (const char *msg)
 Called to disable MPI dynamic process support. More...
 
bool ompi_mpi_dynamics_is_enabled (const char *function)
 Called by the MPI dynamic process functions (e.g., MPI_Comm_spawn) to see if MPI dynamic process support is enabled. More...
 
void ompi_mpi_dynamics_finalize (void)
 Clean up memory / resources by the MPI dynamics process functionality checker. More...
 

Variables

opal_mutex_t ompi_mpi_bootstrap_mutex
 Mutex to protect all the _init and _finalize variables. More...
 
volatile int32_t ompi_mpi_state
 Did MPI start to initialize? More...
 
volatile bool ompi_rte_initialized
 Has the RTE been initialized? More...
 
bool ompi_mpi_thread_multiple
 Do we have multiple threads? More...
 
int ompi_mpi_thread_requested
 Thread level requested to MPI_Init_thread() More...
 
int ompi_mpi_thread_provided
 Thread level provided by Open MPI. More...
 
struct opal_thread_tompi_mpi_main_thread
 Identifier of the main thread. More...
 
struct ompi_predefined_datatype_tompi_mpi_character_addr
 
struct ompi_predefined_datatype_tompi_mpi_logical_addr
 
struct ompi_predefined_datatype_tompi_mpi_logical1_addr
 
struct ompi_predefined_datatype_tompi_mpi_logical2_addr
 
struct ompi_predefined_datatype_tompi_mpi_logical4_addr
 
struct ompi_predefined_datatype_tompi_mpi_logical8_addr
 
struct ompi_predefined_datatype_tompi_mpi_integer_addr
 
struct ompi_predefined_datatype_tompi_mpi_integer1_addr
 
struct ompi_predefined_datatype_tompi_mpi_integer2_addr
 
struct ompi_predefined_datatype_tompi_mpi_integer4_addr
 
struct ompi_predefined_datatype_tompi_mpi_integer8_addr
 
struct ompi_predefined_datatype_tompi_mpi_integer16_addr
 
struct ompi_predefined_datatype_tompi_mpi_real_addr
 
struct ompi_predefined_datatype_tompi_mpi_real4_addr
 
struct ompi_predefined_datatype_tompi_mpi_real8_addr
 
struct ompi_predefined_datatype_tompi_mpi_real16_addr
 
struct ompi_predefined_datatype_tompi_mpi_dblprec_addr
 
struct ompi_predefined_datatype_tompi_mpi_cplex_addr
 
struct ompi_predefined_datatype_tompi_mpi_complex8_addr
 
struct ompi_predefined_datatype_tompi_mpi_complex16_addr
 
struct ompi_predefined_datatype_tompi_mpi_complex32_addr
 
struct ompi_predefined_datatype_tompi_mpi_dblcplex_addr
 
struct ompi_predefined_datatype_tompi_mpi_2real_addr
 
struct ompi_predefined_datatype_tompi_mpi_2dblprec_addr
 
struct ompi_predefined_datatype_tompi_mpi_2integer_addr
 
struct ompi_status_public_t * ompi_mpi_status_ignore_addr
 
struct ompi_status_public_t * ompi_mpi_statuses_ignore_addr
 
opal_list_t ompi_registered_datareps
 In ompi_mpi_init: a list of all memory associated with calling MPI_REGISTER_DATAREP so that we can free it during MPI_FINALIZE. More...
 
opal_hash_table_t ompi_mpi_f90_integer_hashtable
 In ompi_mpi_init: the lists of Fortran 90 mathing datatypes. More...
 
opal_hash_table_t ompi_mpi_f90_real_hashtable
 
opal_hash_table_t ompi_mpi_f90_complex_hashtable
 
const char ompi_version_string []
 version string of ompi More...
 

Detailed Description

Interface into the MPI portion of the Open MPI Run Time Environment

Definition in file mpiruntime.h.

Macro Definition Documentation

◆ OMPI_THREADLEVEL_FUNNELED_BF

#define OMPI_THREADLEVEL_FUNNELED_BF   0x00000002

Definition at line 129 of file mpiruntime.h.

◆ OMPI_THREADLEVEL_IS_MULTIPLE

#define OMPI_THREADLEVEL_IS_MULTIPLE (   threadlevel)    (threadlevel & OMPI_THREADLEVEL_MULTIPLE_BF)

Definition at line 145 of file mpiruntime.h.

◆ OMPI_THREADLEVEL_MULTIPLE_BF

#define OMPI_THREADLEVEL_MULTIPLE_BF   0x00000008

Definition at line 131 of file mpiruntime.h.

◆ OMPI_THREADLEVEL_SERIALIZED_BF

#define OMPI_THREADLEVEL_SERIALIZED_BF   0x00000004

Definition at line 130 of file mpiruntime.h.

◆ OMPI_THREADLEVEL_SET_BITFLAG

#define OMPI_THREADLEVEL_SET_BITFLAG (   threadlevelin,
  threadlevelout 
)
Value:
{ \
if ( MPI_THREAD_SINGLE == threadlevelin ) { \
threadlevelout |= OMPI_THREADLEVEL_SINGLE_BF; \
} else if ( MPI_THREAD_FUNNELED == threadlevelin ) { \
threadlevelout |= OMPI_THREADLEVEL_FUNNELED_BF; \
} else if ( MPI_THREAD_SERIALIZED == threadlevelin ) { \
threadlevelout |= OMPI_THREADLEVEL_SERIALIZED_BF; \
} else if ( MPI_THREAD_MULTIPLE == threadlevelin ) { \
threadlevelout |= OMPI_THREADLEVEL_MULTIPLE_BF; \
}}

Definition at line 133 of file mpiruntime.h.

◆ OMPI_THREADLEVEL_SINGLE_BF

#define OMPI_THREADLEVEL_SINGLE_BF   0x00000001

Bitflags to be used for the modex exchange for the various thread levels.

Required to support heterogeneous environments

Definition at line 128 of file mpiruntime.h.

Enumeration Type Documentation

◆ ompi_mpi_state_t

Enumerator
OMPI_MPI_STATE_NOT_INITIALIZED 
OMPI_MPI_STATE_INIT_STARTED 
OMPI_MPI_STATE_INIT_COMPLETED 
OMPI_MPI_STATE_FINALIZE_STARTED 
OMPI_MPI_STATE_FINALIZE_PAST_COMM_SELF_DESTRUCT 
OMPI_MPI_STATE_FINALIZE_COMPLETED 

Definition at line 73 of file mpiruntime.h.

Function Documentation

◆ ompi_init_preconnect_mpi()

int ompi_init_preconnect_mpi ( void  )

Do a preconnect of MPI connections (i.e., force connections to be made if they will be made).

Definition at line 31 of file ompi_mpi_preconnect.c.

References mca_base_var_find(), mca_base_var_get_value(), NULL, ompi_coll_base_sendrecv_actual(), ompi_comm_rank(), ompi_comm_size(), OMPI_SUCCESS, and value.

Referenced by ompi_mpi_init().

◆ ompi_mpi_abort()

◆ ompi_mpi_dynamics_disable()

void ompi_mpi_dynamics_disable ( const char *  msg)

Called to disable MPI dynamic process support.

It should be called by transports and/or environments where MPI dynamic process functionality cannot be supported, and provide a string indicating why the functionality is disabled (because it will be shown in a user help message). For example, "<TRANSPORT> does not support MPI dynamic process functionality."

This first-order functionality is fairly coarse-grained and simple: it presents a friendly show-help message to tell users why their MPI dynamic process functionality failed (vs. a potentially-cryptic network or hardware failure message).

Someone may choose to implement a more fine-grained approach in the future.

Definition at line 35 of file ompi_mpi_dynamics.c.

References msg, ompi_mpi_dynamics_disabled_msg, and ompi_mpi_dynamics_enabled.

Referenced by mca_pml_yalla_component_init(), and ompi_mtl_mxm_component_query().

◆ ompi_mpi_dynamics_finalize()

void ompi_mpi_dynamics_finalize ( void  )

Clean up memory / resources by the MPI dynamics process functionality checker.

Definition at line 57 of file ompi_mpi_dynamics.c.

References free(), NULL, ompi_mpi_dynamics_disabled_msg, and ompi_mpi_dynamics_enabled.

Referenced by ompi_mpi_finalize().

◆ ompi_mpi_dynamics_is_enabled()

bool ompi_mpi_dynamics_is_enabled ( const char *  function)

Called by the MPI dynamic process functions (e.g., MPI_Comm_spawn) to see if MPI dynamic process support is enabled.

If it's not, this function will opal_show_help() a message and return false.

Definition at line 43 of file ompi_mpi_dynamics.c.

References ompi_mpi_dynamics_disabled_msg, ompi_mpi_dynamics_enabled, and opal_show_help.

Referenced by MPI_Comm_accept(), MPI_Comm_connect(), MPI_Comm_join(), MPI_Comm_spawn(), and MPI_Comm_spawn_multiple().

◆ ompi_mpi_finalize()

int ompi_mpi_finalize ( void  )

Finalize the Open MPI MPI environment.

Returns
MPI_SUCCESS if successful
Error code if unsuccessful

Should be called after all MPI functionality is complete (usually during MPI_FINALIZE).

Definition at line 102 of file ompi_mpi_finalize.c.

References active, ompi_communicator_t::c_coll, ompi_communicator_t::c_keyhash, mca_coll_base_comm_coll_t::coll_barrier, mca_coll_base_comm_coll_t::coll_barrier_module, ompi_predefined_communicator_t::comm, COMM_ATTR, environ, opal_pmix_base_module_t::fence, fence_cbfunc(), opal_pmix_base_module_t::fence_nb, mca_base_framework_t::framework_refcnt, free(), mca_base_framework_close(), mca_mpool_base_tree_print(), mca_pml_base_bsend_detach(), mca_pml_base_bsend_fini(), mca_pml_base_finalize(), MCA_PML_CALL, NULL, OBJ_DESTRUCT, OBJ_RELEASE, ompi_async_mpi_finalize, ompi_attr_delete_all(), ompi_attr_finalize(), ompi_bml_base_framework, ompi_coll_base_framework, ompi_comm_finalize(), ompi_cr_finalize(), ompi_crcp_base_framework, ompi_datatype_finalize(), ompi_debug_show_mpi_alloc_mem_leaks, ompi_dpm_finalize(), ompi_errcode_intern_finalize(), ompi_errhandler_finalize(), OMPI_ERROR_LOG, ompi_file_finalize(), ompi_group_finalize(), ompi_hook_base_framework, ompi_hook_base_mpi_finalize_bottom(), ompi_hook_base_mpi_finalize_top(), ompi_io_base_framework, OMPI_LAZY_WAIT_FOR_COMPLETION, ompi_message_finalize(), ompi_mpi_comm_self, ompi_mpi_comm_world, ompi_mpi_dynamics_finalize(), ompi_mpi_errcode_finalize(), ompi_mpi_f90_complex_hashtable, ompi_mpi_f90_integer_hashtable, ompi_mpi_f90_real_hashtable, ompi_mpi_main_thread, ompi_mpi_state, OMPI_MPI_STATE_FINALIZE_COMPLETED, OMPI_MPI_STATE_FINALIZE_PAST_COMM_SELF_DESTRUCT, OMPI_MPI_STATE_FINALIZE_STARTED, OMPI_MPI_STATE_INIT_COMPLETED, ompi_mpiext_fini(), ompi_mpiinfo_finalize(), ompi_op_finalize(), ompi_osc_base_finalize(), ompi_osc_base_framework, ompi_pml_base_framework, ompi_proc_finalize(), ompi_proc_get_allocated(), ompi_registered_datareps, ompi_request_finalize(), ompi_rte_base_framework, ompi_rte_finalize, ompi_rte_initialized, OMPI_SUCCESS, ompi_topo_base_framework, ompi_win_finalize(), opal_allocator_base_framework, opal_atomic_swap_32(), opal_atomic_wmb(), opal_class_finalize(), OPAL_EVLOOP_NONBLOCK, OPAL_EVLOOP_ONCE, opal_finalize_util(), OPAL_HASH_TABLE_FOREACH, opal_initialized, opal_list_remove_first(), opal_mpool_base_framework, opal_pmix, opal_progress_event_users_increment(), opal_progress_set_event_flag(), opal_rcache_base_framework, opal_show_help, OPAL_SUCCESS, opal_unsetenv(), and pid.

Referenced by MPI_Finalize(), and oshmem_shmem_finalize().

◆ ompi_mpi_init()

int ompi_mpi_init ( int  argc,
char **  argv,
int  requested,
int *  provided,
bool  reinit_ok 
)

Initialize the Open MPI MPI environment.

Parameters
argcargc, typically from main() (IN)
argvargv, typically from main() (IN)
requestedThread support that is requested (IN)
providedThread support that is provided (OUT)
reinit_okReturn successfully (with no error) if someone has already called ompi_mpi_init().
Returns
MPI_SUCCESS if successful
Error code if unsuccessful

Intialize all support code needed for MPI applications. This function should only be called by MPI applications (including singletons). If this function is called, ompi_init() and ompi_rte_init() should not be called.

It is permissable to pass in (0, NULL) for (argc, argv).

Definition at line 369 of file ompi_mpi_init.c.

References _convert_process_name_to_string(), _convert_string_to_process_name(), _process_name_compare(), _process_name_print_for_opal(), ompi_errhandler_errtrk_t::active, active, ompi_communicator_t::c_my_rank, ompi_predefined_communicator_t::comm, opal_pmix_base_module_t::commit, opal_value_t::data, environ, opal_pmix_base_module_t::fence, opal_pmix_base_module_t::fence_nb, fence_release(), free(), info, opal_value_t::key, mca_base_framework_open(), mca_base_var_find(), mca_base_var_set_value(), MCA_BASE_VAR_SOURCE_DEFAULT, mca_bml_base_init(), mca_coll_base_comm_select(), mca_coll_base_find_available(), mca_pml_base_bsend_init(), mca_pml_base_requires_world(), mca_pml_base_select(), MCA_PML_CALL, NULL, OBJ_CONSTRUCT, OBJ_NEW, ompi_async_mpi_init, ompi_attr_init(), ompi_bml_base_framework, ompi_coll_base_framework, ompi_comm_cid_init(), ompi_comm_init(), ompi_cr_init(), ompi_crcp_base_framework, ompi_crcp_base_select(), ompi_datatype_init(), ompi_dpm_dyn_init(), ompi_dpm_init(), OMPI_ERR_SILENT, OMPI_ERR_UNREACH, ompi_errcode_intern_init(), ompi_errhandler_callback(), ompi_errhandler_init(), ompi_errhandler_registration_callback(), ompi_file_init(), ompi_group_init(), ompi_hook_base_framework, ompi_hook_base_mpi_init_bottom(), ompi_hook_base_mpi_init_error(), ompi_hook_base_mpi_init_top(), ompi_hook_base_mpi_init_top_post_opal(), OMPI_IDENT_STRING, ompi_init_preconnect_mpi(), ompi_interlib_declare(), OMPI_LAZY_WAIT_FOR_COMPLETION, ompi_message_init(), ompi_mpi_comm_self, ompi_mpi_comm_world, ompi_mpi_errcode_init(), ompi_mpi_event_tick_rate, ompi_mpi_f90_complex_hashtable, ompi_mpi_f90_integer_hashtable, ompi_mpi_f90_real_hashtable, ompi_mpi_show_mca_params, ompi_mpi_state, OMPI_MPI_STATE_FINALIZE_STARTED, OMPI_MPI_STATE_INIT_COMPLETED, OMPI_MPI_STATE_INIT_STARTED, OMPI_MPI_STATE_NOT_INITIALIZED, ompi_mpi_thread_level(), ompi_mpi_thread_multiple, ompi_mpi_yield_when_idle, ompi_mpiext_init(), ompi_mpiinfo_init(), ompi_op_base_find_available(), ompi_op_base_framework, ompi_op_init(), ompi_osc_base_find_available(), ompi_osc_base_framework, ompi_pml_base_framework, ompi_proc_complete_init(), ompi_proc_for_name(), ompi_proc_get_allocated(), ompi_proc_init(), ompi_proc_world(), ompi_process_info, ompi_register_mca_variables(), ompi_registered_datareps, ompi_request_init(), ompi_rte_base_framework, ompi_rte_init, ompi_rte_initialized, ompi_rte_wait_for_debugger(), ompi_show_all_mca_params(), OMPI_SUCCESS, OMPI_TIMING_FINALIZE, OMPI_TIMING_IMPORT_OPAL, OMPI_TIMING_INIT, OMPI_TIMING_NEXT, OMPI_TIMING_OUT, ompi_win_init(), opal_allocator_base_framework, opal_arch_set_fortran_logical_size(), opal_argv_join(), opal_atomic_cmpset_32(), opal_atomic_swap_32(), opal_atomic_wmb(), opal_compare_proc, opal_convert_process_name_to_string, opal_convert_string_to_process_name, OPAL_ERROR, OPAL_EVLOOP_NONBLOCK, opal_hash_table_init(), opal_init_util(), opal_list_append, OPAL_LIST_DESTRUCT, opal_mpool_base_framework, opal_pmix, opal_pmix_base_async_modex, opal_pmix_collect_all_data, OPAL_PMIX_EVENT_HDLR_NAME, OPAL_PMIX_EVENT_ORDER_PREPEND, opal_proc_for_name, opal_process_name_print, opal_progress_event_users_decrement(), opal_progress_set_event_flag(), opal_progress_set_event_poll_rate(), opal_progress_set_yield_when_idle(), opal_rcache_base_framework, opal_set_using_threads(), opal_setenv(), opal_show_help, opal_strerror(), OPAL_STRING, OPAL_SUCCESS, opal_pmix_base_module_t::register_evhandler, ompi_errhandler_errtrk_t::status, opal_value_t::string, opal_value_t::super, and opal_value_t::type.

Referenced by MPI_Init(), MPI_Init_thread(), and oshmem_shmem_init().

◆ ompi_mpi_thread_level()

void ompi_mpi_thread_level ( int  requested,
int *  provided 
)

Determine the thread level.

Parameters
requestedThread support that is requested (IN)
providedThread support that is provided (OUT)

These values are monotonic; MPI_THREAD_SINGLE < MPI_THREAD_FUNNELED < MPI_THREAD_SERIALIZED < MPI_THREAD_MULTIPLE. If possible, the call will return provided = required. Failing this, the call will return the least supported level such that provided > required. Finally, if the user requirement cannot be satisfied, then the call will return in provided the highest supported level.

Definition at line 316 of file ompi_mpi_init.c.

References ompi_mpi_main_thread, ompi_mpi_thread_multiple, ompi_mpi_thread_provided, ompi_mpi_thread_requested, and opal_thread_get_self().

Referenced by MPI_T_init_thread(), and ompi_mpi_init().

Variable Documentation

◆ ompi_mpi_2dblprec_addr

struct ompi_predefined_datatype_t* ompi_mpi_2dblprec_addr
extern

Definition at line 171 of file ompi_mpi_init.c.

◆ ompi_mpi_2integer_addr

struct ompi_predefined_datatype_t* ompi_mpi_2integer_addr
extern

Definition at line 172 of file ompi_mpi_init.c.

◆ ompi_mpi_2real_addr

struct ompi_predefined_datatype_t* ompi_mpi_2real_addr
extern

Definition at line 170 of file ompi_mpi_init.c.

◆ ompi_mpi_bootstrap_mutex

opal_mutex_t ompi_mpi_bootstrap_mutex
extern

Mutex to protect all the _init and _finalize variables.

◆ ompi_mpi_character_addr

struct ompi_predefined_datatype_t* ompi_mpi_character_addr
extern

Definition at line 148 of file ompi_mpi_init.c.

◆ ompi_mpi_complex16_addr

struct ompi_predefined_datatype_t* ompi_mpi_complex16_addr
extern

Definition at line 167 of file ompi_mpi_init.c.

◆ ompi_mpi_complex32_addr

struct ompi_predefined_datatype_t* ompi_mpi_complex32_addr
extern

Definition at line 168 of file ompi_mpi_init.c.

◆ ompi_mpi_complex8_addr

struct ompi_predefined_datatype_t* ompi_mpi_complex8_addr
extern

Definition at line 166 of file ompi_mpi_init.c.

◆ ompi_mpi_cplex_addr

struct ompi_predefined_datatype_t* ompi_mpi_cplex_addr
extern

Definition at line 165 of file ompi_mpi_init.c.

◆ ompi_mpi_dblcplex_addr

struct ompi_predefined_datatype_t* ompi_mpi_dblcplex_addr
extern

Definition at line 169 of file ompi_mpi_init.c.

◆ ompi_mpi_dblprec_addr

struct ompi_predefined_datatype_t* ompi_mpi_dblprec_addr
extern

Definition at line 164 of file ompi_mpi_init.c.

◆ ompi_mpi_f90_complex_hashtable

opal_hash_table_t ompi_mpi_f90_complex_hashtable
extern

Definition at line 270 of file ompi_mpi_init.c.

Referenced by MPI_Type_create_f90_complex(), and ompi_mpi_finalize().

◆ ompi_mpi_f90_integer_hashtable

opal_hash_table_t ompi_mpi_f90_integer_hashtable
extern

In ompi_mpi_init: the lists of Fortran 90 mathing datatypes.

We need these lists and hashtables in order to satisfy the new requirements introduced in MPI 2-1 Sect. 10.2.5, MPI_TYPE_CREATE_F90_xxxx, page 295, line 47.

Definition at line 268 of file ompi_mpi_init.c.

Referenced by MPI_Type_create_f90_integer(), and ompi_mpi_finalize().

◆ ompi_mpi_f90_real_hashtable

opal_hash_table_t ompi_mpi_f90_real_hashtable
extern

Definition at line 269 of file ompi_mpi_init.c.

Referenced by MPI_Type_create_f90_real(), and ompi_mpi_finalize().

◆ ompi_mpi_integer16_addr

struct ompi_predefined_datatype_t* ompi_mpi_integer16_addr
extern

Definition at line 159 of file ompi_mpi_init.c.

◆ ompi_mpi_integer1_addr

struct ompi_predefined_datatype_t* ompi_mpi_integer1_addr
extern

Definition at line 155 of file ompi_mpi_init.c.

◆ ompi_mpi_integer2_addr

struct ompi_predefined_datatype_t* ompi_mpi_integer2_addr
extern

Definition at line 156 of file ompi_mpi_init.c.

◆ ompi_mpi_integer4_addr

struct ompi_predefined_datatype_t* ompi_mpi_integer4_addr
extern

Definition at line 157 of file ompi_mpi_init.c.

◆ ompi_mpi_integer8_addr

struct ompi_predefined_datatype_t* ompi_mpi_integer8_addr
extern

Definition at line 158 of file ompi_mpi_init.c.

◆ ompi_mpi_integer_addr

struct ompi_predefined_datatype_t* ompi_mpi_integer_addr
extern

Definition at line 154 of file ompi_mpi_init.c.

◆ ompi_mpi_logical1_addr

struct ompi_predefined_datatype_t* ompi_mpi_logical1_addr
extern

Definition at line 150 of file ompi_mpi_init.c.

◆ ompi_mpi_logical2_addr

struct ompi_predefined_datatype_t* ompi_mpi_logical2_addr
extern

Definition at line 151 of file ompi_mpi_init.c.

◆ ompi_mpi_logical4_addr

struct ompi_predefined_datatype_t* ompi_mpi_logical4_addr
extern

Definition at line 152 of file ompi_mpi_init.c.

◆ ompi_mpi_logical8_addr

struct ompi_predefined_datatype_t* ompi_mpi_logical8_addr
extern

Definition at line 153 of file ompi_mpi_init.c.

◆ ompi_mpi_logical_addr

struct ompi_predefined_datatype_t* ompi_mpi_logical_addr
extern

Definition at line 149 of file ompi_mpi_init.c.

◆ ompi_mpi_main_thread

struct opal_thread_t* ompi_mpi_main_thread
extern

Identifier of the main thread.

Definition at line 140 of file ompi_mpi_init.c.

Referenced by MPI_Is_thread_main(), MPI_T_finalize(), ompi_mpi_finalize(), and ompi_mpi_thread_level().

◆ ompi_mpi_real16_addr

struct ompi_predefined_datatype_t* ompi_mpi_real16_addr
extern

Definition at line 163 of file ompi_mpi_init.c.

◆ ompi_mpi_real4_addr

struct ompi_predefined_datatype_t* ompi_mpi_real4_addr
extern

Definition at line 161 of file ompi_mpi_init.c.

◆ ompi_mpi_real8_addr

struct ompi_predefined_datatype_t* ompi_mpi_real8_addr
extern

Definition at line 162 of file ompi_mpi_init.c.

◆ ompi_mpi_real_addr

struct ompi_predefined_datatype_t* ompi_mpi_real_addr
extern

Definition at line 160 of file ompi_mpi_init.c.

◆ ompi_mpi_state

◆ ompi_mpi_status_ignore_addr

struct ompi_status_public_t* ompi_mpi_status_ignore_addr
extern

Definition at line 174 of file ompi_mpi_init.c.

◆ ompi_mpi_statuses_ignore_addr

struct ompi_status_public_t* ompi_mpi_statuses_ignore_addr
extern

Definition at line 176 of file ompi_mpi_init.c.

◆ ompi_mpi_thread_multiple

◆ ompi_mpi_thread_provided

int ompi_mpi_thread_provided
extern

Thread level provided by Open MPI.

Definition at line 138 of file ompi_mpi_init.c.

Referenced by MPI_Query_thread(), and ompi_mpi_thread_level().

◆ ompi_mpi_thread_requested

int ompi_mpi_thread_requested
extern

Thread level requested to MPI_Init_thread()

Definition at line 137 of file ompi_mpi_init.c.

Referenced by ompi_mpi_thread_level(), and ompi_mpiinfo_init().

◆ ompi_registered_datareps

opal_list_t ompi_registered_datareps
extern

In ompi_mpi_init: a list of all memory associated with calling MPI_REGISTER_DATAREP so that we can free it during MPI_FINALIZE.

Definition at line 279 of file ompi_mpi_init.c.

Referenced by ompi_cxx_new_intercept_state(), ompi_mpi_finalize(), ompi_mpi_init(), and ompi_register_datarep_f().

◆ ompi_rte_initialized

volatile bool ompi_rte_initialized
extern

Has the RTE been initialized?

Definition at line 134 of file ompi_mpi_init.c.

Referenced by backend_fatal(), ompi_mpi_abort(), ompi_mpi_finalize(), ompi_mpi_init(), and out().

◆ ompi_version_string

const char ompi_version_string[]
extern

version string of ompi

Definition at line 127 of file ompi_mpi_init.c.

OMPI_THREADLEVEL_SINGLE_BF
#define OMPI_THREADLEVEL_SINGLE_BF
Bitflags to be used for the modex exchange for the various thread levels.
Definition: mpiruntime.h:127
OMPI_THREADLEVEL_FUNNELED_BF
#define OMPI_THREADLEVEL_FUNNELED_BF
Definition: mpiruntime.h:128
OMPI_THREADLEVEL_SERIALIZED_BF
#define OMPI_THREADLEVEL_SERIALIZED_BF
Definition: mpiruntime.h:129
OMPI_THREADLEVEL_MULTIPLE_BF
#define OMPI_THREADLEVEL_MULTIPLE_BF
Definition: mpiruntime.h:130