OpenMPI 0.1.1

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

- File List
- Globals

vprotocol_pessimist.h
1 /*
2 * Copyright (c) 2004-2007 The Trustees of the University of Tennessee.
3 * All rights reserved.
4 * $COPYRIGHT$
5 *
6 * Additional copyrights may follow
7 *
8 * $HEADER$
9 */
10
11 #ifndef __INCLUDE_VPROTOCOL_PESSIMIST_H__
12 #define __INCLUDE_VPROTOCOL_PESSIMIST_H__
13
14 #include "ompi_config.h"
15 #include "../vprotocol.h"
16 #include "ompi/communicator/communicator.h"
17 #include "ompi/datatype/ompi_datatype.h"
18
19 #include "vprotocol_pessimist_event.h"
20 #include "vprotocol_pessimist_sender_based_types.h"
21
22 BEGIN_C_DECLS
23
24 typedef struct mca_vprotocol_pessimist_module_t {
25 mca_vprotocol_base_module_t super;
26
27 /* Event clock */
28 vprotocol_pessimist_clock_t clock;
29
30 /* list of events to send to Event Logger */
31 opal_list_t pending_events;
32
33 /* output buffer for messages to event logger */
34 ompi_communicator_t *el_comm;
35 vprotocol_pessimist_mem_event_t *event_buffer;
36 size_t event_buffer_length;
37 size_t event_buffer_max_length;
38
39 /* space for allocating events */
40 ompi_free_list_t events_pool;
41
42 /* Sender Based repository */
43 vprotocol_pessimist_sender_based_t sender_based;
44
45 /* replay mode variables */
46 bool replay;
47 opal_list_t replay_events;
48 } mca_vprotocol_pessimist_module_t;
49
50 OMPI_DECLSPEC extern mca_vprotocol_pessimist_module_t mca_vprotocol_pessimist;
51 OMPI_DECLSPEC extern mca_vprotocol_base_component_t mca_vprotocol_pessimist_component;
52
53 int mca_vprotocol_pessimist_enable(bool enable);
54 int mca_vprotocol_pessimist_dump(struct ompi_communicator_t* comm, int verbose);
55
56 int mca_vprotocol_pessimist_add_procs(struct ompi_proc_t **procs, size_t nprocs);
57 int mca_vprotocol_pessimist_del_procs(struct ompi_proc_t **procs, size_t nprocs);
58 int mca_vprotocol_pessimist_progress(void);
59 int mca_vprotocol_pessimist_add_comm(struct ompi_communicator_t* comm);
60 int mca_vprotocol_pessimist_del_comm(struct ompi_communicator_t* comm);
61
62 int mca_vprotocol_pessimist_irecv(void *addr,
63 size_t count,
64 ompi_datatype_t * datatype,
65 int src,
66 int tag,
67 struct ompi_communicator_t *comm,
68 struct ompi_request_t **request );
69 int mca_vprotocol_pessimist_recv(void *addr,
70 size_t count,
71 ompi_datatype_t * datatype,
72 int src,
73 int tag,
74 struct ompi_communicator_t *comm,
75 ompi_status_public_t * status );
76
77 int mca_vprotocol_pessimist_isend(void *buf,
78 size_t count,
79 ompi_datatype_t* datatype,
80 int dst,
81 int tag,
82 mca_pml_base_send_mode_t sendmode,
83 ompi_communicator_t* comm,
84 ompi_request_t** request );
85 int mca_vprotocol_pessimist_send(void *buf,
86 size_t count,
87 ompi_datatype_t* datatype,
88 int dst,
89 int tag,
90 mca_pml_base_send_mode_t sendmode,
91 ompi_communicator_t* comm );
92
93 int mca_vprotocol_pessimist_iprobe(int src, int tag,
94 struct ompi_communicator_t *comm,
95 int *matched, ompi_status_public_t * status );
96 int mca_vprotocol_pessimist_probe(int src, int tag,
97 struct ompi_communicator_t *comm,
98 ompi_status_public_t * status );
99
100 END_C_DECLS
101
102 #include "vprotocol_pessimist_wait.h"
103 #include "vprotocol_pessimist_start.h"
104
105 #include "vprotocol_pessimist_request.h"
106 #include "vprotocol_pessimist_sender_based.h"
107 #include "vprotocol_pessimist_eventlog.h"
108
109 #endif /* __INCLUDE_VPROTOCOL_PESSIMIST_H__ */
vprotocol_pessimist_mem_event_t
Definition: vprotocol_pessimist_event.h:40
ompi_datatype_t
Definition: ompi_datatype.h:68
mca_vprotocol_base_component_2_0_0_t
Definition: vprotocol.h:47
ompi_proc_t
Remote Open MPI process structure.
Definition: proc.h:56
mca_vprotocol_base_module_2_0_0_t
Definition: vprotocol.h:57
ompi_free_list_t
Definition: ompi_free_list.h:39
mca_vprotocol_pessimist_module_t
Definition: vprotocol_pessimist.h:24
opal_list_t
Definition: opal_list.h:147
ompi_status_public_t
Definition: mpi.h:337
request
Definition: evdns.c:158
ompi_communicator_t
Definition: communicator.h:118
ompi_request_t
Main top-level request struct definition.
Definition: request.h:100
vprotocol_pessimist_sender_based_t
Definition: vprotocol_pessimist_sender_based_types.h:26