36 #include "ompi_config.h"
89 (*mca_mtl_base_component_init_fn_t)(
bool enable_progress_threads,
90 bool enable_mpi_threads);
213 mca_pml_base_send_mode_t mode);
261 mca_pml_base_send_mode_t mode,
415 mca_mtl_base_module_imrecv_fn_t mtl_imrecv;
416 mca_mtl_base_module_improbe_fn_t mtl_improbe;
428 #define MCA_MTL_BASE_VERSION_2_0_0 \
429 MCA_BASE_VERSION_2_0_0, \
435 #if MCA_ompi_mtl_DIRECT_CALL
437 #include MCA_ompi_mtl_DIRECT_CALL_HEADER
439 #define OMPI_MTL_CALL_STAMP(a, b) ompi_mtl_ ## a ## _ ## b
440 #define OMPI_MTL_CALL_EXPANDER(a, b) OMPI_MTL_CALL_STAMP(a,b)
441 #define OMPI_MTL_CALL(a) OMPI_MTL_CALL_EXPANDER(MCA_ompi_mtl_DIRECT_CALL_COMPONENT, a)
444 #define OMPI_MTL_CALL(a) ompi_mtl->mtl_ ## a
Common type for all MCA components.
Definition: mca.h:250
int mtl_max_contextid
maximum allowable contextid
Definition: mtl.h:400
P2P Management Layer (PML)
int(* mca_mtl_base_module_del_procs_fn_t)(struct mca_mtl_base_module_t *mtl, size_t nprocs, struct ompi_proc_t **procs, struct mca_mtl_base_endpoint_t **mtl_peer_data)
Notification of change to the process list.
Definition: mtl.h:170
size_t mtl_request_size
number of bytes to reserve with request structure
Definition: mtl.h:402
int(* mca_mtl_base_module_isend_fn_t)(struct mca_mtl_base_module_t *mtl, struct ompi_communicator_t *comm, int dest, int tag, struct opal_convertor_t *convertor, mca_pml_base_send_mode_t mode, bool blocking, mca_mtl_request_t *mtl_request)
Non-blocking send to peer.
Definition: mtl.h:255
int mtl_max_tag
maximum tag value.
Definition: mtl.h:401
Remote Open MPI process structure.
Definition: proc.h:56
int(* mca_mtl_base_module_irecv_fn_t)(struct mca_mtl_base_module_t *mtl, struct ompi_communicator_t *comm, int src, int tag, struct opal_convertor_t *convertor, struct mca_mtl_request_t *mtl_request)
Non-blocking receive.
Definition: mtl.h:297
Top-level interface for all MCA components.
uint32_t mtl_flags
flags (put/get...)
Definition: mtl.h:404
Top-level description of requests.
int(* mca_mtl_base_module_finalize_fn_t)(struct mca_mtl_base_module_t *mtl)
MCA->MTL Clean up any resources held by MTL module.
Definition: mtl.h:117
int(* mca_mtl_base_module_iprobe_fn_t)(struct mca_mtl_base_module_t *mtl, struct ompi_communicator_t *comm, int src, int tag, int *flag, struct ompi_status_public_t *status)
Non-blocking probe.
Definition: mtl.h:325
An abstraction that represents a connection to a endpoint process.
Definition: mtl_mx_endpoint.h:50
Definition: opal_convertor.h:90
Meta data for MCA v2.0.0 components.
Definition: mca.h:309
int(* mca_mtl_base_module_send_fn_t)(struct mca_mtl_base_module_t *mtl, struct ompi_communicator_t *comm, int dest, int tag, struct opal_convertor_t *convertor, mca_pml_base_send_mode_t mode)
Blocking send to peer.
Definition: mtl.h:207
struct mca_mtl_base_module_t *(* mca_mtl_base_component_init_fn_t)(bool enable_progress_threads, bool enable_mpi_threads)
Initialization routine for MTL component.
Definition: mtl.h:89
int(* mca_mtl_base_module_cancel_fn_t)(struct mca_mtl_base_module_t *mtl, mca_mtl_request_t *mtl_request, int flag)
Cancel an existing request.
Definition: mtl.h:362
struct ompi_request_t * ompi_req
pointer to associated ompi_request_t
Definition: mtl.h:53
MTL module interface functions and attributes.
Definition: mtl.h:399
int(* mca_mtl_base_module_del_comm_fn_t)(struct mca_mtl_base_module_t *mtl, struct ompi_communicator_t *comm)
Downcall from PML layer when a communicator is destroyed.
Definition: mtl.h:391
Definition: communicator.h:118
Main top-level request struct definition.
Definition: request.h:100
int(* mca_mtl_base_module_add_procs_fn_t)(struct mca_mtl_base_module_t *mtl, size_t nprocs, struct ompi_proc_t **procs, struct mca_mtl_base_endpoint_t **mtl_peer_data)
PML->MTL notification of change in the process list.
Definition: mtl.h:149
int(* mca_mtl_base_module_add_comm_fn_t)(struct mca_mtl_base_module_t *mtl, struct ompi_communicator_t *comm)
Downcall from PML layer when a new communicator is created.
Definition: mtl.h:377