29 #ifndef OMPI_MCA_OSC_OSC_H
30 #define OMPI_MCA_OSC_OSC_H
32 #include "opal_config.h"
76 bool enable_mpi_threads);
193 typedef int (*ompi_osc_base_module_put_fn_t)(
void *origin_addr,
197 OPAL_PTRDIFF_TYPE target_disp,
203 typedef int (*ompi_osc_base_module_get_fn_t)(
void *origin_addr,
207 OPAL_PTRDIFF_TYPE target_disp,
213 typedef int (*ompi_osc_base_module_accumulate_fn_t)(
void *origin_addr,
217 OPAL_PTRDIFF_TYPE target_disp,
224 typedef int (*ompi_osc_base_module_fence_fn_t)(
int assert,
struct ompi_win_t *win);
227 typedef int (*ompi_osc_base_module_start_fn_t)(
struct ompi_group_t *group,
232 typedef int (*ompi_osc_base_module_complete_fn_t)(
struct ompi_win_t *win);
235 typedef int (*ompi_osc_base_module_post_fn_t)(
struct ompi_group_t *group,
240 typedef int (*ompi_osc_base_module_wait_fn_t)(
struct ompi_win_t *win);
243 typedef int (*ompi_osc_base_module_test_fn_t)(
struct ompi_win_t *win,
247 typedef int (*ompi_osc_base_module_lock_fn_t)(
int lock_type,
253 typedef int (*ompi_osc_base_module_unlock_fn_t)(
int target,
284 ompi_osc_base_module_start_fn_t osc_start;
286 ompi_osc_base_module_complete_fn_t osc_complete;
288 ompi_osc_base_module_post_fn_t osc_post;
290 ompi_osc_base_module_wait_fn_t osc_wait;
292 ompi_osc_base_module_test_fn_t osc_test;
295 ompi_osc_base_module_lock_fn_t osc_lock;
297 ompi_osc_base_module_unlock_fn_t osc_unlock;
307 #define OMPI_OSC_BASE_VERSION_2_0_0 \
308 MCA_BASE_VERSION_2_0_0, \
OSC module instance.
Definition: osc.h:269
int(* ompi_osc_base_module_free_fn_t)(struct ompi_win_t *win)
Free resources associated with win.
Definition: osc.h:190
int(* ompi_osc_base_component_finalize_fn_t)(void)
OSC component finalization.
Definition: osc.h:90
Common type for all MCA components.
Definition: mca.h:250
ompi_osc_base_component_query_fn_t osc_query
Query whether component is useable for give comm/info.
Definition: osc.h:162
Definition: ompi_datatype.h:68
ompi_osc_base_module_fence_fn_t osc_fence
Implement MPI_WIN_FENCE.
Definition: osc.h:281
mca_base_component_data_t osc_data
Base component data block.
Definition: osc.h:158
Top-level interface for all MCA components.
ompi_osc_base_component_select_fn_t osc_select
Create module for the given window.
Definition: osc.h:164
ompi_osc_base_module_free_fn_t osc_free
Free resources associated with the window.
Definition: osc.h:271
ompi_osc_base_module_put_fn_t osc_put
Implement MPI_PUT.
Definition: osc.h:274
int(* ompi_osc_base_component_select_fn_t)(struct ompi_win_t *win, struct ompi_info_t *info, struct ompi_communicator_t *comm)
OSC component select.
Definition: osc.h:142
OSC component interface.
Definition: osc.h:154
int(* ompi_osc_base_component_init_fn_t)(bool enable_progress_threads, bool enable_mpi_threads)
OSC component initialization.
Definition: osc.h:75
Group structure Currently we have four formats for storing the process pointers that are members of t...
Definition: group.h:79
Meta data for MCA v2.0.0 components.
Definition: mca.h:309
int(* ompi_osc_base_component_query_fn_t)(struct ompi_win_t *win, struct ompi_info_t *info, struct ompi_communicator_t *comm)
OSC component query.
Definition: osc.h:113
ompi_osc_base_module_accumulate_fn_t osc_accumulate
Implement MPI_ACCUMULATE.
Definition: osc.h:278
mca_base_component_t osc_version
Base component description.
Definition: osc.h:156
Definition: communicator.h:118
ompi_osc_base_component_init_fn_t osc_init
Component initialization function.
Definition: osc.h:160
Back-end type of MPI_Op.
Definition: op.h:100
ompi_osc_base_module_get_fn_t osc_get
Implement MPI_GET.
Definition: osc.h:276