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)  

pmix.h File Reference
#include "opal_config.h"
#include "opal/types.h"
#include "opal/mca/mca.h"
#include "opal/mca/event/event.h"
#include "opal/dss/dss.h"
#include "opal/runtime/opal.h"
#include "opal/util/error.h"
#include "opal/util/proc.h"
#include "opal/hash_string.h"
#include "opal/mca/pmix/pmix_types.h"
#include "opal/mca/pmix/pmix_server.h"
Include dependency graph for pmix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  opal_pmix_base_module_t
 
struct  opal_pmix_base_component_t
 

Macros

#define OPAL_HASH_JOBID(str, hash)
 
#define OPAL_MODEX_SEND_VALUE(r, sc, s, d, t)
 Provide a simplified macro for sending data via modex to other processes. More...
 
#define OPAL_MODEX_SEND_STRING(r, sc, s, d, sz)
 Provide a simplified macro for sending data via modex to other processes. More...
 
#define OPAL_MODEX_SEND(r, sc, s, d, sz)
 Provide a simplified macro for sending data via modex to other processes. More...
 
#define OPAL_MODEX_RECV_VALUE_OPTIONAL(r, s, p, d, t)
 Provide a simplified macro for retrieving modex data from another process when we don't want the PMIx module to request it from the server if not found: More...
 
#define OPAL_MODEX_RECV_VALUE_IMMEDIATE(r, s, p, d, t)
 Provide a simplified macro for retrieving modex data from another process when we want the PMIx module to request it from the server if not found, but do not want the server to go find it if the server doesn't already have it: More...
 
#define OPAL_MODEX_RECV_VALUE(r, s, p, d, t)
 Provide a simplified macro for retrieving modex data from another process: More...
 
#define OPAL_MODEX_RECV_STRING(r, s, p, d, sz)
 Provide a simplified macro for retrieving modex data from another process: More...
 
#define OPAL_MODEX_RECV(r, s, p, d, sz)
 Provide a simplified macro for retrieving modex data from another process: More...
 
#define OPAL_PMIX_EXCHANGE(r, i, p, t)
 Provide a macro for accessing a base function that exchanges data values between two procs using the PMIx Publish/Lookup APIs. More...
 
#define OPAL_PMIX_BASE_VERSION_2_0_0    OPAL_MCA_BASE_VERSION_2_1_0("pmix", 2, 0, 0)
 

Typedefs

typedef int(* opal_pmix_base_module_init_fn_t) (opal_list_t *ilist)
 CLIENT APIs *. More...
 
typedef int(* opal_pmix_base_module_fini_fn_t) (void)
 
typedef int(* opal_pmix_base_module_initialized_fn_t) (void)
 
typedef int(* opal_pmix_base_module_abort_fn_t) (int status, const char *msg, opal_list_t *procs)
 
typedef int(* opal_pmix_base_module_commit_fn_t) (void)
 
typedef int(* opal_pmix_base_module_fence_fn_t) (opal_list_t *procs, int collect_data)
 
typedef int(* opal_pmix_base_module_fence_nb_fn_t) (opal_list_t *procs, int collect_data, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_put_fn_t) (opal_pmix_scope_t scope, opal_value_t *val)
 
typedef int(* opal_pmix_base_module_get_fn_t) (const opal_process_name_t *proc, const char *key, opal_list_t *info, opal_value_t **val)
 
typedef int(* opal_pmix_base_module_get_nb_fn_t) (const opal_process_name_t *proc, const char *key, opal_list_t *info, opal_pmix_value_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_publish_fn_t) (opal_list_t *info)
 
typedef int(* opal_pmix_base_module_publish_nb_fn_t) (opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_lookup_fn_t) (opal_list_t *data, opal_list_t *info)
 
typedef int(* opal_pmix_base_module_lookup_nb_fn_t) (char **keys, opal_list_t *info, opal_pmix_lookup_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_unpublish_fn_t) (char **keys, opal_list_t *info)
 
typedef int(* opal_pmix_base_module_unpublish_nb_fn_t) (char **keys, opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_spawn_fn_t) (opal_list_t *job_info, opal_list_t *apps, opal_jobid_t *jobid)
 
typedef int(* opal_pmix_base_module_spawn_nb_fn_t) (opal_list_t *job_info, opal_list_t *apps, opal_pmix_spawn_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_connect_fn_t) (opal_list_t *procs)
 
typedef int(* opal_pmix_base_module_connect_nb_fn_t) (opal_list_t *procs, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_disconnect_fn_t) (opal_list_t *procs)
 
typedef int(* opal_pmix_base_module_disconnect_nb_fn_t) (opal_list_t *procs, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_resolve_peers_fn_t) (const char *nodename, opal_jobid_t jobid, opal_list_t *procs)
 
typedef int(* opal_pmix_base_module_resolve_nodes_fn_t) (opal_jobid_t jobid, char **nodelist)
 
typedef int(* opal_pmix_base_module_server_init_fn_t) (opal_pmix_server_module_t *module, opal_list_t *info)
 SERVER APIs *

  • These are calls that go down (or "south") from the ORTE * daemon into the PMIx server library *.
More...
 
typedef int(* opal_pmix_base_module_server_finalize_fn_t) (void)
 
typedef int(* opal_pmix_base_module_generate_regex_fn_t) (const char *input, char **regex)
 
typedef int(* opal_pmix_base_module_generate_ppn_fn_t) (const char *input, char **ppn)
 
typedef int(* opal_pmix_base_module_server_register_nspace_fn_t) (opal_jobid_t jobid, int nlocalprocs, opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef void(* opal_pmix_base_module_server_deregister_nspace_fn_t) (opal_jobid_t jobid, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_server_register_client_fn_t) (const opal_process_name_t *proc, uid_t uid, gid_t gid, void *server_object, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef void(* opal_pmix_base_module_server_deregister_client_fn_t) (const opal_process_name_t *proc, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_server_setup_fork_fn_t) (const opal_process_name_t *proc, char ***env)
 
typedef int(* opal_pmix_base_module_server_dmodex_request_fn_t) (const opal_process_name_t *proc, opal_pmix_modex_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_server_notify_event_fn_t) (int status, const opal_process_name_t *source, opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_tool_init_fn_t) (opal_list_t *ilist)
 TOOL APIs *. More...
 
typedef int(* opal_pmix_base_module_tool_fini_fn_t) (void)
 
typedef const char *(* opal_pmix_base_module_get_version_fn_t) (void)
 UTILITY APIs *. More...
 
typedef void(* opal_pmix_base_module_register_fn_t) (opal_list_t *event_codes, opal_list_t *info, opal_pmix_notification_fn_t evhandler, opal_pmix_evhandler_reg_cbfunc_t cbfunc, void *cbdata)
 
typedef void(* opal_pmix_base_module_deregister_fn_t) (size_t evhandler, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_notify_event_fn_t) (int status, const opal_process_name_t *source, opal_pmix_data_range_t range, opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_module_store_fn_t) (const opal_process_name_t *proc, opal_value_t *val)
 
typedef const char *(* opal_pmix_base_module_get_nspace_fn_t) (opal_jobid_t jobid)
 
typedef void(* opal_pmix_base_module_register_jobid_fn_t) (opal_jobid_t jobid, const char *nspace)
 
typedef void(* opal_pmix_base_module_query_fn_t) (opal_list_t *queries, opal_pmix_info_cbfunc_t cbfunc, void *cbdata)
 
typedef void(* opal_pmix_base_log_fn_t) (opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_alloc_fn_t) (opal_pmix_alloc_directive_t directive, opal_list_t *info, opal_pmix_info_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_job_control_fn_t) (opal_list_t *targets, opal_list_t *directives, opal_pmix_info_cbfunc_t cbfunc, void *cbdata)
 
typedef int(* opal_pmix_base_process_monitor_fn_t) (opal_list_t *monitor, opal_list_t *directives, opal_pmix_info_cbfunc_t cbfunc, void *cbdata)
 
typedef bool(* opal_pmix_base_legacy_get_fn_t) (void)
 

Functions

int opal_pmix_base_exchange (opal_value_t *info, opal_pmix_pdata_t *pdat, int timeout)
 

Variables

BEGIN_C_DECLS int opal_pmix_verbose_output
 
bool opal_pmix_collect_all_data
 
bool opal_pmix_base_async_modex
 
OPAL_DECLSPEC opal_pmix_base_module_t opal_pmix
 

Macro Definition Documentation

◆ OPAL_HASH_JOBID

#define OPAL_HASH_JOBID (   str,
  hash 
)
Value:
{ \
OPAL_HASH_STR( str, hash ); \
hash &= ~(0x8000); \
}

Definition at line 50 of file pmix.h.

◆ OPAL_MODEX_RECV

#define OPAL_MODEX_RECV (   r,
  s,
  p,
  d,
  sz 
)
Value:
do { \
char *_key; \
OPAL_OUTPUT_VERBOSE((1, opal_pmix_verbose_output, \
"%s[%s:%d] MODEX RECV FOR PROC %s KEY %s", \
__FILE__, __LINE__, \
OPAL_NAME_PRINT(*(p)), _key)); \
if (NULL == _key) { \
OPAL_ERROR_LOG(OPAL_ERR_OUT_OF_RESOURCE); \
} else { \
OPAL_MODEX_RECV_STRING((r), _key, (p), (d), (sz)); \
free(_key); \
} \
} while(0);

Provide a simplified macro for retrieving modex data from another process:

r - the integer return status from the modex op (int) s - the MCA component that posted the data (mca_base_component_t*) p - pointer to the opal_process_name_t of the proc that posted the data (opal_process_name_t*) d - pointer to a location wherein the data object it to be returned (char**) sz - pointer to a location wherein the number of bytes in the data object can be returned (size_t)

Definition at line 286 of file pmix.h.

◆ OPAL_MODEX_RECV_STRING

#define OPAL_MODEX_RECV_STRING (   r,
  s,
  p,
  d,
  sz 
)
Value:
do { \
opal_value_t *_kv; \
OPAL_OUTPUT_VERBOSE((1, opal_pmix_verbose_output, \
"%s[%s:%d] MODEX RECV STRING FOR PROC %s KEY %s", \
__FILE__, __LINE__, \
OPAL_NAME_PRINT(*(p)), (s))); \
if (OPAL_SUCCESS == ((r) = opal_pmix.get((p), (s), NULL, &(_kv)))) { \
if (NULL == _kv) { \
*(sz) = 0; \
} else { \
*(d) = _kv->data.bo.bytes; \
*(sz) = _kv->data.bo.size; \
_kv->data.bo.bytes = NULL; /* protect the data */ \
OBJ_RELEASE(_kv); \
} \
} else { \
*(sz) = 0; \
} \
} while(0);

Provide a simplified macro for retrieving modex data from another process:

r - the integer return status from the modex op (int) s - string key (char*) p - pointer to the opal_process_name_t of the proc that posted the data (opal_process_name_t*) d - pointer to a location wherein the data object it to be returned (char**) sz - pointer to a location wherein the number of bytes in the data object can be returned (size_t)

Definition at line 249 of file pmix.h.

◆ OPAL_MODEX_RECV_VALUE

#define OPAL_MODEX_RECV_VALUE (   r,
  s,
  p,
  d,
 
)
Value:
do { \
opal_value_t *_kv; \
OPAL_OUTPUT_VERBOSE((1, opal_pmix_verbose_output, \
"%s[%s:%d] MODEX RECV VALUE FOR PROC %s KEY %s", \
__FILE__, __LINE__, \
OPAL_NAME_PRINT(*(p)), (s))); \
if (OPAL_SUCCESS == ((r) = opal_pmix.get((p), (s), NULL, &(_kv)))) { \
if (NULL == _kv) { \
} else { \
(r) = opal_value_unload(_kv, (void**)(d), (t)); \
OBJ_RELEASE(_kv); \
} \
} \
} while(0);

Provide a simplified macro for retrieving modex data from another process:

r - the integer return status from the modex op (int) s - string key (char*) p - pointer to the opal_process_name_t of the proc that posted the data (opal_process_name_t*) d - pointer to a location wherein the data object is to be returned t - the expected data type

Definition at line 218 of file pmix.h.

◆ OPAL_MODEX_RECV_VALUE_IMMEDIATE

#define OPAL_MODEX_RECV_VALUE_IMMEDIATE (   r,
  s,
  p,
  d,
 
)
Value:
do { \
opal_value_t *_kv, *_info; \
opal_list_t _ilist; \
opal_output_verbose(1, opal_pmix_verbose_output, \
"%s[%s:%d] MODEX RECV VALUE IMMEDIATE FOR PROC %s KEY %s", \
__FILE__, __LINE__, \
OPAL_NAME_PRINT(*(p)), (s)); \
OBJ_CONSTRUCT(&(_ilist), opal_list_t); \
_info = OBJ_NEW(opal_value_t); \
_info->key = strdup(OPAL_PMIX_IMMEDIATE); \
_info->type = OPAL_BOOL; \
_info->data.flag = true; \
opal_list_append(&(_ilist), &(_info)->super); \
if (OPAL_SUCCESS == ((r) = opal_pmix.get((p), (s), &(_ilist), &(_kv)))) { \
if (NULL == _kv) { \
} else { \
(r) = opal_value_unload(_kv, (void**)(d), (t)); \
OBJ_RELEASE(_kv); \
} \
} \
OPAL_LIST_DESTRUCT(&(_ilist)); \
} while(0);

Provide a simplified macro for retrieving modex data from another process when we want the PMIx module to request it from the server if not found, but do not want the server to go find it if the server doesn't already have it:

r - the integer return status from the modex op (int) s - string key (char*) p - pointer to the opal_process_name_t of the proc that posted the data (opal_process_name_t*) d - pointer to a location wherein the data object is to be returned t - the expected data type

Definition at line 180 of file pmix.h.

◆ OPAL_MODEX_RECV_VALUE_OPTIONAL

#define OPAL_MODEX_RECV_VALUE_OPTIONAL (   r,
  s,
  p,
  d,
 
)
Value:
do { \
opal_value_t *_kv, *_info; \
opal_list_t _ilist; \
OPAL_OUTPUT_VERBOSE((1, opal_pmix_verbose_output, \
"%s[%s:%d] MODEX RECV VALUE OPTIONAL FOR PROC %s KEY %s", \
__FILE__, __LINE__, \
OPAL_NAME_PRINT(*(p)), (s))); \
OBJ_CONSTRUCT(&(_ilist), opal_list_t); \
_info = OBJ_NEW(opal_value_t); \
_info->key = strdup(OPAL_PMIX_OPTIONAL); \
_info->type = OPAL_BOOL; \
_info->data.flag = true; \
opal_list_append(&(_ilist), &(_info)->super); \
if (OPAL_SUCCESS == ((r) = opal_pmix.get((p), (s), &(_ilist), &(_kv)))) { \
if (NULL == _kv) { \
} else { \
(r) = opal_value_unload(_kv, (void**)(d), (t)); \
OBJ_RELEASE(_kv); \
} \
} \
OPAL_LIST_DESTRUCT(&(_ilist)); \
} while(0);

Provide a simplified macro for retrieving modex data from another process when we don't want the PMIx module to request it from the server if not found:

r - the integer return status from the modex op (int) s - string key (char*) p - pointer to the opal_process_name_t of the proc that posted the data (opal_process_name_t*) d - pointer to a location wherein the data object is to be returned t - the expected data type

Definition at line 139 of file pmix.h.

◆ OPAL_MODEX_SEND

#define OPAL_MODEX_SEND (   r,
  sc,
  s,
  d,
  sz 
)
Value:
do { \
char *_key; \
OPAL_MODEX_SEND_STRING((r), (sc), _key, (d), (sz)); \
free(_key); \
} while(0);

Provide a simplified macro for sending data via modex to other processes.

The macro requires four arguments:

r - the integer return status from the modex op sc - the PMIX scope of the data s - the MCA component that is posting the data d - the data object being posted sz - the number of bytes in the data object

Definition at line 118 of file pmix.h.

◆ OPAL_MODEX_SEND_STRING

#define OPAL_MODEX_SEND_STRING (   r,
  sc,
  s,
  d,
  sz 
)
Value:
do { \
opal_value_t _kv; \
OBJ_CONSTRUCT(&(_kv), opal_value_t); \
_kv.key = (s); \
_kv.type = OPAL_BYTE_OBJECT; \
_kv.data.bo.bytes = (uint8_t*)(d); \
_kv.data.bo.size = (sz); \
if (OPAL_SUCCESS != ((r) = opal_pmix.put(sc, &(_kv)))) { \
OPAL_ERROR_LOG((r)); \
} \
_kv.data.bo.bytes = NULL; /* protect the data */ \
_kv.key = NULL; /* protect the key */ \
OBJ_DESTRUCT(&(_kv)); \
} while(0);

Provide a simplified macro for sending data via modex to other processes.

The macro requires four arguments:

r - the integer return status from the modex op sc - the PMIX scope of the data s - the key to tag the data being posted d - the data object being posted sz - the number of bytes in the data object

Definition at line 92 of file pmix.h.

◆ OPAL_MODEX_SEND_VALUE

#define OPAL_MODEX_SEND_VALUE (   r,
  sc,
  s,
  d,
 
)
Value:
do { \
opal_value_t _kv; \
OBJ_CONSTRUCT(&(_kv), opal_value_t); \
_kv.key = (s); \
if (OPAL_SUCCESS != ((r) = opal_value_load(&(_kv), (d), (t)))) { \
OPAL_ERROR_LOG((r)); \
} else { \
if (OPAL_SUCCESS != ((r) = opal_pmix.put(sc, &(_kv)))) { \
OPAL_ERROR_LOG((r)); \
} \
} \
/* opal_value_load makes a copy of the data, so release it */ \
_kv.key = NULL; \
OBJ_DESTRUCT(&(_kv)); \
} while(0);

Provide a simplified macro for sending data via modex to other processes.

The macro requires four arguments:

r - the integer return status from the modex op sc - the PMIX scope of the data s - the key to tag the data being posted d - pointer to the data object being posted t - the type of the data

Definition at line 65 of file pmix.h.

◆ OPAL_PMIX_BASE_VERSION_2_0_0

#define OPAL_PMIX_BASE_VERSION_2_0_0    OPAL_MCA_BASE_VERSION_2_1_0("pmix", 2, 0, 0)

Definition at line 942 of file pmix.h.

◆ OPAL_PMIX_EXCHANGE

#define OPAL_PMIX_EXCHANGE (   r,
  i,
  p,
 
)
Value:
do { \
OPAL_OUTPUT_VERBOSE((1, opal_pmix_verbose_output, \
"%s[%s:%d] EXCHANGE %s WITH %s", \
__FILE__, __LINE__, \
(i)->key, (p)->value.key)); \
(r) = opal_pmix_base_exchange((i), (p), (t)); \
} while(0);

Provide a macro for accessing a base function that exchanges data values between two procs using the PMIx Publish/Lookup APIs.

Definition at line 308 of file pmix.h.

Typedef Documentation

◆ opal_pmix_base_alloc_fn_t

typedef int(* opal_pmix_base_alloc_fn_t) (opal_pmix_alloc_directive_t directive, opal_list_t *info, opal_pmix_info_cbfunc_t cbfunc, void *cbdata)

Definition at line 856 of file pmix.h.

◆ opal_pmix_base_job_control_fn_t

typedef int(* opal_pmix_base_job_control_fn_t) (opal_list_t *targets, opal_list_t *directives, opal_pmix_info_cbfunc_t cbfunc, void *cbdata)

Definition at line 861 of file pmix.h.

◆ opal_pmix_base_legacy_get_fn_t

typedef bool(* opal_pmix_base_legacy_get_fn_t) (void)

Definition at line 870 of file pmix.h.

◆ opal_pmix_base_log_fn_t

typedef void(* opal_pmix_base_log_fn_t) (opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 852 of file pmix.h.

◆ opal_pmix_base_module_abort_fn_t

typedef int(* opal_pmix_base_module_abort_fn_t) (int status, const char *msg, opal_list_t *procs)

Definition at line 359 of file pmix.h.

◆ opal_pmix_base_module_commit_fn_t

typedef int(* opal_pmix_base_module_commit_fn_t) (void)

Definition at line 366 of file pmix.h.

◆ opal_pmix_base_module_connect_fn_t

typedef int(* opal_pmix_base_module_connect_fn_t) (opal_list_t *procs)

Definition at line 533 of file pmix.h.

◆ opal_pmix_base_module_connect_nb_fn_t

typedef int(* opal_pmix_base_module_connect_nb_fn_t) (opal_list_t *procs, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 535 of file pmix.h.

◆ opal_pmix_base_module_deregister_fn_t

typedef void(* opal_pmix_base_module_deregister_fn_t) (size_t evhandler, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 805 of file pmix.h.

◆ opal_pmix_base_module_disconnect_fn_t

typedef int(* opal_pmix_base_module_disconnect_fn_t) (opal_list_t *procs)

Definition at line 545 of file pmix.h.

◆ opal_pmix_base_module_disconnect_nb_fn_t

typedef int(* opal_pmix_base_module_disconnect_nb_fn_t) (opal_list_t *procs, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 547 of file pmix.h.

◆ opal_pmix_base_module_fence_fn_t

typedef int(* opal_pmix_base_module_fence_fn_t) (opal_list_t *procs, int collect_data)

Definition at line 384 of file pmix.h.

◆ opal_pmix_base_module_fence_nb_fn_t

typedef int(* opal_pmix_base_module_fence_nb_fn_t) (opal_list_t *procs, int collect_data, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 389 of file pmix.h.

◆ opal_pmix_base_module_fini_fn_t

typedef int(* opal_pmix_base_module_fini_fn_t) (void)

Definition at line 333 of file pmix.h.

◆ opal_pmix_base_module_generate_ppn_fn_t

typedef int(* opal_pmix_base_module_generate_ppn_fn_t) (const char *input, char **ppn)

Definition at line 613 of file pmix.h.

◆ opal_pmix_base_module_generate_regex_fn_t

typedef int(* opal_pmix_base_module_generate_regex_fn_t) (const char *input, char **regex)

Definition at line 600 of file pmix.h.

◆ opal_pmix_base_module_get_fn_t

typedef int(* opal_pmix_base_module_get_fn_t) (const opal_process_name_t *proc, const char *key, opal_list_t *info, opal_value_t **val)

Definition at line 407 of file pmix.h.

◆ opal_pmix_base_module_get_nb_fn_t

typedef int(* opal_pmix_base_module_get_nb_fn_t) (const opal_process_name_t *proc, const char *key, opal_list_t *info, opal_pmix_value_cbfunc_t cbfunc, void *cbdata)

Definition at line 416 of file pmix.h.

◆ opal_pmix_base_module_get_nspace_fn_t

typedef const char*(* opal_pmix_base_module_get_nspace_fn_t) (opal_jobid_t jobid)

Definition at line 842 of file pmix.h.

◆ opal_pmix_base_module_get_version_fn_t

typedef const char*(* opal_pmix_base_module_get_version_fn_t) (void)

UTILITY APIs *.

Definition at line 759 of file pmix.h.

◆ opal_pmix_base_module_init_fn_t

typedef int(* opal_pmix_base_module_init_fn_t) (opal_list_t *ilist)

CLIENT APIs *.

Definition at line 328 of file pmix.h.

◆ opal_pmix_base_module_initialized_fn_t

typedef int(* opal_pmix_base_module_initialized_fn_t) (void)

Definition at line 339 of file pmix.h.

◆ opal_pmix_base_module_lookup_fn_t

typedef int(* opal_pmix_base_module_lookup_fn_t) (opal_list_t *data, opal_list_t *info)

Definition at line 467 of file pmix.h.

◆ opal_pmix_base_module_lookup_nb_fn_t

typedef int(* opal_pmix_base_module_lookup_nb_fn_t) (char **keys, opal_list_t *info, opal_pmix_lookup_cbfunc_t cbfunc, void *cbdata)

Definition at line 477 of file pmix.h.

◆ opal_pmix_base_module_notify_event_fn_t

typedef int(* opal_pmix_base_module_notify_event_fn_t) (int status, const opal_process_name_t *source, opal_pmix_data_range_t range, opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 828 of file pmix.h.

◆ opal_pmix_base_module_publish_fn_t

typedef int(* opal_pmix_base_module_publish_fn_t) (opal_list_t *info)

Definition at line 444 of file pmix.h.

◆ opal_pmix_base_module_publish_nb_fn_t

typedef int(* opal_pmix_base_module_publish_nb_fn_t) (opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 445 of file pmix.h.

◆ opal_pmix_base_module_put_fn_t

typedef int(* opal_pmix_base_module_put_fn_t) (opal_pmix_scope_t scope, opal_value_t *val)

Definition at line 396 of file pmix.h.

◆ opal_pmix_base_module_query_fn_t

typedef void(* opal_pmix_base_module_query_fn_t) (opal_list_t *queries, opal_pmix_info_cbfunc_t cbfunc, void *cbdata)

Definition at line 848 of file pmix.h.

◆ opal_pmix_base_module_register_fn_t

typedef void(* opal_pmix_base_module_register_fn_t) (opal_list_t *event_codes, opal_list_t *info, opal_pmix_notification_fn_t evhandler, opal_pmix_evhandler_reg_cbfunc_t cbfunc, void *cbdata)

Definition at line 796 of file pmix.h.

◆ opal_pmix_base_module_register_jobid_fn_t

typedef void(* opal_pmix_base_module_register_jobid_fn_t) (opal_jobid_t jobid, const char *nspace)

Definition at line 845 of file pmix.h.

◆ opal_pmix_base_module_resolve_nodes_fn_t

typedef int(* opal_pmix_base_module_resolve_nodes_fn_t) (opal_jobid_t jobid, char **nodelist)

Definition at line 565 of file pmix.h.

◆ opal_pmix_base_module_resolve_peers_fn_t

typedef int(* opal_pmix_base_module_resolve_peers_fn_t) (const char *nodename, opal_jobid_t jobid, opal_list_t *procs)

Definition at line 556 of file pmix.h.

◆ opal_pmix_base_module_server_deregister_client_fn_t

typedef void(* opal_pmix_base_module_server_deregister_client_fn_t) (const opal_process_name_t *proc, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 681 of file pmix.h.

◆ opal_pmix_base_module_server_deregister_nspace_fn_t

typedef void(* opal_pmix_base_module_server_deregister_nspace_fn_t) (opal_jobid_t jobid, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 651 of file pmix.h.

◆ opal_pmix_base_module_server_dmodex_request_fn_t

typedef int(* opal_pmix_base_module_server_dmodex_request_fn_t) (const opal_process_name_t *proc, opal_pmix_modex_cbfunc_t cbfunc, void *cbdata)

Definition at line 701 of file pmix.h.

◆ opal_pmix_base_module_server_finalize_fn_t

typedef int(* opal_pmix_base_module_server_finalize_fn_t) (void)

Definition at line 582 of file pmix.h.

◆ opal_pmix_base_module_server_init_fn_t

typedef int(* opal_pmix_base_module_server_init_fn_t) (opal_pmix_server_module_t *module, opal_list_t *info)

SERVER APIs *

  • These are calls that go down (or "south") from the ORTE * daemon into the PMIx server library *.

Definition at line 578 of file pmix.h.

◆ opal_pmix_base_module_server_notify_event_fn_t

typedef int(* opal_pmix_base_module_server_notify_event_fn_t) (int status, const opal_process_name_t *source, opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 731 of file pmix.h.

◆ opal_pmix_base_module_server_register_client_fn_t

typedef int(* opal_pmix_base_module_server_register_client_fn_t) (const opal_process_name_t *proc, uid_t uid, gid_t gid, void *server_object, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 668 of file pmix.h.

◆ opal_pmix_base_module_server_register_nspace_fn_t

typedef int(* opal_pmix_base_module_server_register_nspace_fn_t) (opal_jobid_t jobid, int nlocalprocs, opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 640 of file pmix.h.

◆ opal_pmix_base_module_server_setup_fork_fn_t

typedef int(* opal_pmix_base_module_server_setup_fork_fn_t) (const opal_process_name_t *proc, char ***env)

Definition at line 690 of file pmix.h.

◆ opal_pmix_base_module_spawn_fn_t

typedef int(* opal_pmix_base_module_spawn_fn_t) (opal_list_t *job_info, opal_list_t *apps, opal_jobid_t *jobid)

Definition at line 504 of file pmix.h.

◆ opal_pmix_base_module_spawn_nb_fn_t

typedef int(* opal_pmix_base_module_spawn_nb_fn_t) (opal_list_t *job_info, opal_list_t *apps, opal_pmix_spawn_cbfunc_t cbfunc, void *cbdata)

Definition at line 511 of file pmix.h.

◆ opal_pmix_base_module_store_fn_t

typedef int(* opal_pmix_base_module_store_fn_t) (const opal_process_name_t *proc, opal_value_t *val)

Definition at line 838 of file pmix.h.

◆ opal_pmix_base_module_tool_fini_fn_t

typedef int(* opal_pmix_base_module_tool_fini_fn_t) (void)

Definition at line 751 of file pmix.h.

◆ opal_pmix_base_module_tool_init_fn_t

typedef int(* opal_pmix_base_module_tool_init_fn_t) (opal_list_t *ilist)

TOOL APIs *.

Definition at line 748 of file pmix.h.

◆ opal_pmix_base_module_unpublish_fn_t

typedef int(* opal_pmix_base_module_unpublish_fn_t) (char **keys, opal_list_t *info)

Definition at line 485 of file pmix.h.

◆ opal_pmix_base_module_unpublish_nb_fn_t

typedef int(* opal_pmix_base_module_unpublish_nb_fn_t) (char **keys, opal_list_t *info, opal_pmix_op_cbfunc_t cbfunc, void *cbdata)

Definition at line 492 of file pmix.h.

◆ opal_pmix_base_process_monitor_fn_t

typedef int(* opal_pmix_base_process_monitor_fn_t) (opal_list_t *monitor, opal_list_t *directives, opal_pmix_info_cbfunc_t cbfunc, void *cbdata)

Definition at line 866 of file pmix.h.

Function Documentation

◆ opal_pmix_base_exchange()

Variable Documentation

◆ opal_pmix

Definition at line 35 of file pmix_base_frame.c.

Referenced by app_coord_finalize(), app_coord_init(), check_complete(), display_all_timers(), dvm_notify(), finalize(), init(), init_server(), main(), mca_bml_r2_ft_event(), mca_pml_ucx_del_procs(), mca_pml_yalla_del_procs(), mca_spml_ucx_del_procs(), MPI_Lookup_name(), MPI_Publish_name(), MPI_Unpublish_name(), ompi_crcp_bkmrk_pml_ft_event(), ompi_dpm_connect_accept(), ompi_dpm_disconnect(), ompi_dpm_spawn(), ompi_errhandler_finalize(), ompi_interlib_declare(), ompi_mpi_finalize(), ompi_mpi_init(), ompi_mtl_mxm_del_procs(), ompi_proc_pack(), ompi_proc_unpack(), ompi_rte_wait_for_debugger(), opal_hwloc_base_get_topology(), opal_pmix_base_exchange(), opal_pmix_base_frame_close(), opal_pmix_base_frame_open(), opal_pmix_base_select(), orte_daemon(), orte_ess_base_app_finalize(), orte_ess_base_app_setup(), orte_ess_base_orted_setup(), orte_ess_base_tool_setup(), orte_odls_base_default_get_add_procs_data(), orte_odls_base_spawn_proc(), orte_oob_base_get_addr(), orte_plm_base_daemon_callback(), orte_pmix_server_register_nspace(), orte_read_hnp_contact_file(), orte_show_help_norender(), orte_state_base_check_all_complete(), orte_state_base_track_procs(), orte_submit_init(), orte_util_comm_connect_tool(), pmix_server_dmdx_recv(), pmix_server_finalize(), pmix_server_init(), pmix_server_notify(), process_opens(), prun(), rollup(), rte_abort(), rte_finalize(), rte_init(), track_procs(), vm_ready(), vprotocol_pessimist_event_logger_connect(), and xcast_recv().

◆ opal_pmix_base_async_modex

bool opal_pmix_base_async_modex
extern

◆ opal_pmix_collect_all_data

bool opal_pmix_collect_all_data
extern

◆ opal_pmix_verbose_output

BEGIN_C_DECLS int opal_pmix_verbose_output
extern

Definition at line 37 of file pmix_base_frame.c.

Referenced by opal_pmix_base_frame_open().

opal_value_t
Definition: dss_types.h:137
OPAL_NAME_PRINT
#define OPAL_NAME_PRINT(OPAL_PN)
Definition: proc.h:147
OPAL_PMIX_IMMEDIATE
#define OPAL_PMIX_IMMEDIATE
Definition: pmix_types.h:182
OPAL_PMIX_OPTIONAL
#define OPAL_PMIX_OPTIONAL
Definition: pmix_types.h:191
opal_pmix_base_exchange
int opal_pmix_base_exchange(opal_value_t *info, opal_pmix_pdata_t *pdat, int timeout)
Definition: pmix_base_fns.c:95
opal_value_unload
OPAL_DECLSPEC int opal_value_unload(opal_value_t *kv, void **data, opal_data_type_t type)
Definition: dss_load_unload.c:284
OPAL_PROC_MY_NAME
#define OPAL_PROC_MY_NAME
Definition: proc.h:51
opal_pmix_base_module_t::put
opal_pmix_base_module_put_fn_t put
Definition: pmix.h:885
value
#define value
Definition: btl_openib_lex.c:606
OBJ_NEW
#define OBJ_NEW(type)
Definition: opal_object.h:272
OPAL_SUCCESS
@ OPAL_SUCCESS
Definition: constants.h:29
opal_value_load
OPAL_DECLSPEC int opal_value_load(opal_value_t *kv, void *data, opal_data_type_t type)
Definition: dss_load_unload.c:179
opal_list_t
Definition: opal_list.h:152
OPAL_BOOL
#define OPAL_BOOL
boolean
Definition: dss_types.h:68
opal_pmix_verbose_output
BEGIN_C_DECLS int opal_pmix_verbose_output
Definition: pmix_base_frame.c:37
opal_pmix
OPAL_DECLSPEC opal_pmix_base_module_t opal_pmix
Definition: pmix_base_frame.c:35
OPAL_ERR_OUT_OF_RESOURCE
@ OPAL_ERR_OUT_OF_RESOURCE
Definition: constants.h:32
OPAL_BYTE_OBJECT
#define OPAL_BYTE_OBJECT
byte object structure
Definition: dss_types.h:91
opal_pmix_base_module_t::get
opal_pmix_base_module_get_fn_t get
Definition: pmix.h:886
OPAL_ERR_NOT_FOUND
@ OPAL_ERR_NOT_FOUND
Definition: constants.h:43
NULL
#define NULL
Copyright (C) 2000-2004 by Etnus, LLC.
Definition: ompi_msgq_dll.c:136
mca_base_component_to_string
OPAL_DECLSPEC char * mca_base_component_to_string(const mca_base_component_t *a)
Returns a string which represents the component name and version.
Definition: mca_base_component_compare.c:143