1
2
3
4
5
6
7
8
9
10
11
12
13
14 #ifndef MCA_PML_MONITORING_H
15 #define MCA_PML_MONITORING_H
16
17 BEGIN_C_DECLS
18
19 #include <ompi_config.h>
20 #include <ompi/communicator/communicator.h>
21 #include <ompi/datatype/ompi_datatype.h>
22 #include <ompi/mca/pml/pml.h>
23 #include <ompi/mca/pml/base/base.h>
24 #include <ompi/mca/common/monitoring/common_monitoring.h>
25 #include <opal/mca/base/mca_base_pvar.h>
26
27 typedef mca_pml_base_module_t mca_pml_monitoring_module_t;
28
29 extern mca_pml_base_component_t pml_selected_component;
30 extern mca_pml_base_module_t pml_selected_module;
31 extern mca_pml_monitoring_module_t mca_pml_monitoring_module;
32 OMPI_DECLSPEC extern mca_pml_base_component_2_0_0_t mca_pml_monitoring_component;
33
34
35
36
37
38 extern int mca_pml_monitoring_add_comm(struct ompi_communicator_t* comm);
39
40 extern int mca_pml_monitoring_del_comm(struct ompi_communicator_t* comm);
41
42 extern int mca_pml_monitoring_add_procs(struct ompi_proc_t **procs, size_t nprocs);
43
44 extern int mca_pml_monitoring_del_procs(struct ompi_proc_t **procs, size_t nprocs);
45
46 extern int mca_pml_monitoring_enable(bool enable);
47
48 extern int mca_pml_monitoring_iprobe(int dst,
49 int tag,
50 struct ompi_communicator_t* comm,
51 int *matched,
52 ompi_status_public_t* status );
53
54 extern int mca_pml_monitoring_probe(int dst,
55 int tag,
56 struct ompi_communicator_t* comm,
57 ompi_status_public_t* status );
58
59 extern int mca_pml_monitoring_improbe(int dst,
60 int tag,
61 struct ompi_communicator_t* comm,
62 int *matched,
63 struct ompi_message_t **message,
64 ompi_status_public_t* status );
65
66 extern int mca_pml_monitoring_mprobe(int dst,
67 int tag,
68 struct ompi_communicator_t* comm,
69 struct ompi_message_t **message,
70 ompi_status_public_t* status );
71
72 extern int mca_pml_monitoring_isend_init(const void *buf,
73 size_t count,
74 ompi_datatype_t *datatype,
75 int dst,
76 int tag,
77 mca_pml_base_send_mode_t mode,
78 struct ompi_communicator_t* comm,
79 struct ompi_request_t **request);
80
81 extern int mca_pml_monitoring_isend(const void *buf,
82 size_t count,
83 ompi_datatype_t *datatype,
84 int dst,
85 int tag,
86 mca_pml_base_send_mode_t mode,
87 struct ompi_communicator_t* comm,
88 struct ompi_request_t **request);
89
90 extern int mca_pml_monitoring_send(const void *buf,
91 size_t count,
92 ompi_datatype_t *datatype,
93 int dst,
94 int tag,
95 mca_pml_base_send_mode_t mode,
96 struct ompi_communicator_t* comm);
97
98 extern int mca_pml_monitoring_irecv_init(void *buf,
99 size_t count,
100 ompi_datatype_t *datatype,
101 int src,
102 int tag,
103 struct ompi_communicator_t* comm,
104 struct ompi_request_t **request);
105
106 extern int mca_pml_monitoring_irecv(void *buf,
107 size_t count,
108 ompi_datatype_t *datatype,
109 int src,
110 int tag,
111 struct ompi_communicator_t* comm,
112 struct ompi_request_t **request);
113
114 extern int mca_pml_monitoring_recv(void *buf,
115 size_t count,
116 ompi_datatype_t *datatype,
117 int src,
118 int tag,
119 struct ompi_communicator_t* comm,
120 ompi_status_public_t* status);
121
122 extern int mca_pml_monitoring_imrecv(void *buf,
123 size_t count,
124 ompi_datatype_t *datatype,
125 struct ompi_message_t **message,
126 struct ompi_request_t **request);
127
128 extern int mca_pml_monitoring_mrecv(void *buf,
129 size_t count,
130 ompi_datatype_t *datatype,
131 struct ompi_message_t **message,
132 ompi_status_public_t* status);
133
134 extern int mca_pml_monitoring_dump(struct ompi_communicator_t* comm,
135 int verbose);
136
137 extern int mca_pml_monitoring_start(size_t count,
138 ompi_request_t** requests);
139
140 END_C_DECLS
141
142 #endif