OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

mtl_portals4_flowctl.h
1 /*
2 * Copyright (c) 2012 Sandia National Laboratories. All rights reserved.
3 * $COPYRIGHT$
4 *
5 * Additional copyrights may follow
6 *
7 * $HEADER$
8 */
9
10 #ifndef MTL_PORTALS_FLOWCTL_H
11 #define MTL_PORTALS_FLOWCTL_H
12
13 struct ompi_mtl_portals4_flowctl_t {
14 /** Flow control epoch counter. Triggered events should be
15 based on epoch counter. */
16 uint32_t epoch_counter;
17 /** Flow control trigger ME. Only has meaning at root. When an
18 event is received on this ME, it triggers the flow control
19 alert broadcast.*/
20 ptl_handle_me_t trigger_me_h;
21 /** Flow control trigger CT. Only has meaning at root. */
22 ptl_handle_ct_t trigger_ct_h;
23 /** Flow control alert tree broadcast ME. */
24 ptl_handle_me_t alert_me_h;
25 /** Flow control alert tree broadcast CT. */
26 ptl_handle_ct_t alert_ct_h;
27 /** Flow control alert tree broadcast ME for a local put to
28 generate an event */
29 ptl_handle_me_t alert_event_me_h;
30 /** Flow control restart fan-in ME. */
31 ptl_handle_me_t fanin_me_h;
32 /** Flow control restart fan-in CT. */
33 ptl_handle_ct_t fanin_ct_h;
34 /** Flow control restart fan-out ME. */
35 ptl_handle_me_t fanout_me_h;
36 /** Flow control restart fan-out CT. */
37 ptl_handle_ct_t fanout_ct_h;
38 /** Flow control restart fan-out ME for a local put to generate an
39 event */
40 ptl_handle_me_t fanout_event_me_h;
41
42 size_t num_procs;
43 size_t num_children;
44 ptl_process_t children[2];
45 ptl_process_t parent;
46 ptl_process_t me;
47 int i_am_root;
48 };
49 typedef struct ompi_mtl_portals4_flowctl_t ompi_mtl_portals4_flowctl_t;
50
51 /**
52 * Initialize flow control code
53 *
54 * Initialize flow control code. This includes initializing epoch
55 * counter and creating necessary MEs and CTs.
56 */
57 int ompi_mtl_portals4_flowctl_init(void);
58
59 int ompi_mtl_portals4_flowctl_fini(void);
60
61 int ompi_mtl_portals4_flowctl_add_procs(size_t me,
62 size_t npeers,
63 struct mca_mtl_base_endpoint_t **peers);
64 int ompi_mtl_portals4_flowctl_setup_comm(void);
65 int ompi_mtl_portals4_flowctl_start_recover(void);
66
67 #endif
ompi_mtl_portals4_flowctl_t::alert_event_me_h
ptl_handle_me_t alert_event_me_h
Flow control alert tree broadcast ME for a local put to generate an event.
Definition: mtl_portals4_flowctl.h:29
ompi_mtl_portals4_flowctl_t::fanout_event_me_h
ptl_handle_me_t fanout_event_me_h
Flow control restart fan-out ME for a local put to generate an event.
Definition: mtl_portals4_flowctl.h:40
ompi_mtl_portals4_flowctl_t::fanin_ct_h
ptl_handle_ct_t fanin_ct_h
Flow control restart fan-in CT.
Definition: mtl_portals4_flowctl.h:33
ompi_mtl_portals4_flowctl_t::epoch_counter
uint32_t epoch_counter
Flow control epoch counter.
Definition: mtl_portals4_flowctl.h:16
ompi_mtl_portals4_flowctl_t::fanout_me_h
ptl_handle_me_t fanout_me_h
Flow control restart fan-out ME.
Definition: mtl_portals4_flowctl.h:35
ompi_mtl_portals4_flowctl_t::trigger_me_h
ptl_handle_me_t trigger_me_h
Flow control trigger ME.
Definition: mtl_portals4_flowctl.h:20
ompi_mtl_portals4_flowctl_t::alert_me_h
ptl_handle_me_t alert_me_h
Flow control alert tree broadcast ME.
Definition: mtl_portals4_flowctl.h:24
mca_mtl_base_endpoint_t
An abstraction that represents a connection to a endpoint process.
Definition: mtl_mx_endpoint.h:50
ompi_mtl_portals4_flowctl_t::trigger_ct_h
ptl_handle_ct_t trigger_ct_h
Flow control trigger CT.
Definition: mtl_portals4_flowctl.h:22
ompi_mtl_portals4_flowctl_t::fanin_me_h
ptl_handle_me_t fanin_me_h
Flow control restart fan-in ME.
Definition: mtl_portals4_flowctl.h:31
ompi_mtl_portals4_flowctl_t::fanout_ct_h
ptl_handle_ct_t fanout_ct_h
Flow control restart fan-out CT.
Definition: mtl_portals4_flowctl.h:37
ompi_mtl_portals4_flowctl_t
Definition: mtl_portals4_flowctl.h:13
ompi_mtl_portals4_flowctl_t::alert_ct_h
ptl_handle_ct_t alert_ct_h
Flow control alert tree broadcast CT.
Definition: mtl_portals4_flowctl.h:26