1
2
3
4
5
6
7
8
9
10
11
12
13
14 #ifndef MCA_COLL_MONITORING_H
15 #define MCA_COLL_MONITORING_H
16
17 BEGIN_C_DECLS
18
19 #include <ompi_config.h>
20 #include <ompi/mca/coll/coll.h>
21 #include <ompi/op/op.h>
22 #include <ompi/request/request.h>
23 #include <ompi/datatype/ompi_datatype.h>
24 #include <ompi/communicator/communicator.h>
25 #include <ompi/mca/common/monitoring/common_monitoring.h>
26
27 struct mca_coll_monitoring_component_t {
28 mca_coll_base_component_t super;
29 int priority;
30 };
31 typedef struct mca_coll_monitoring_component_t mca_coll_monitoring_component_t;
32
33 OMPI_DECLSPEC extern mca_coll_monitoring_component_t mca_coll_monitoring_component;
34
35 struct mca_coll_monitoring_module_t {
36 mca_coll_base_module_t super;
37 mca_coll_base_comm_coll_t real;
38 mca_monitoring_coll_data_t*data;
39 opal_atomic_int32_t is_initialized;
40 };
41 typedef struct mca_coll_monitoring_module_t mca_coll_monitoring_module_t;
42 OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_coll_monitoring_module_t);
43
44
45
46
47
48
49 extern int mca_coll_monitoring_allgather(const void *sbuf, int scount,
50 struct ompi_datatype_t *sdtype,
51 void *rbuf, int rcount,
52 struct ompi_datatype_t *rdtype,
53 struct ompi_communicator_t *comm,
54 mca_coll_base_module_t *module);
55
56 extern int mca_coll_monitoring_allgatherv(const void *sbuf, int scount,
57 struct ompi_datatype_t *sdtype,
58 void *rbuf, const int *rcounts,
59 const int *disps,
60 struct ompi_datatype_t *rdtype,
61 struct ompi_communicator_t *comm,
62 mca_coll_base_module_t *module);
63
64 extern int mca_coll_monitoring_allreduce(const void *sbuf, void *rbuf, int count,
65 struct ompi_datatype_t *dtype,
66 struct ompi_op_t *op,
67 struct ompi_communicator_t *comm,
68 mca_coll_base_module_t *module);
69
70 extern int mca_coll_monitoring_alltoall(const void *sbuf, int scount,
71 struct ompi_datatype_t *sdtype,
72 void *rbuf, int rcount,
73 struct ompi_datatype_t *rdtype,
74 struct ompi_communicator_t *comm,
75 mca_coll_base_module_t *module);
76
77 extern int mca_coll_monitoring_alltoallv(const void *sbuf, const int *scounts,
78 const int *sdisps,
79 struct ompi_datatype_t *sdtype,
80 void *rbuf, const int *rcounts,
81 const int *rdisps,
82 struct ompi_datatype_t *rdtype,
83 struct ompi_communicator_t *comm,
84 mca_coll_base_module_t *module);
85
86 extern int mca_coll_monitoring_alltoallw(const void *sbuf, const int *scounts,
87 const int *sdisps,
88 struct ompi_datatype_t * const *sdtypes,
89 void *rbuf, const int *rcounts,
90 const int *rdisps,
91 struct ompi_datatype_t * const *rdtypes,
92 struct ompi_communicator_t *comm,
93 mca_coll_base_module_t *module);
94
95 extern int mca_coll_monitoring_barrier(struct ompi_communicator_t *comm,
96 mca_coll_base_module_t *module);
97
98 extern int mca_coll_monitoring_bcast(void *buff, int count,
99 struct ompi_datatype_t *datatype,
100 int root,
101 struct ompi_communicator_t *comm,
102 mca_coll_base_module_t *module);
103
104 extern int mca_coll_monitoring_exscan(const void *sbuf, void *rbuf, int count,
105 struct ompi_datatype_t *dtype,
106 struct ompi_op_t *op,
107 struct ompi_communicator_t *comm,
108 mca_coll_base_module_t *module);
109
110 extern int mca_coll_monitoring_gather(const void *sbuf, int scount,
111 struct ompi_datatype_t *sdtype,
112 void *rbuf, int rcount, struct ompi_datatype_t *rdtype,
113 int root, struct ompi_communicator_t *comm,
114 mca_coll_base_module_t *module);
115
116 extern int mca_coll_monitoring_gatherv(const void *sbuf, int scount,
117 struct ompi_datatype_t *sdtype,
118 void *rbuf, const int *rcounts, const int *disps,
119 struct ompi_datatype_t *rdtype,
120 int root,
121 struct ompi_communicator_t *comm,
122 mca_coll_base_module_t *module);
123
124 extern int mca_coll_monitoring_reduce(const void *sbuf, void *rbuf, int count,
125 struct ompi_datatype_t *dtype,
126 struct ompi_op_t *op,
127 int root,
128 struct ompi_communicator_t *comm,
129 mca_coll_base_module_t *module);
130
131 extern int mca_coll_monitoring_reduce_scatter(const void *sbuf, void *rbuf,
132 const int *rcounts,
133 struct ompi_datatype_t *dtype,
134 struct ompi_op_t *op,
135 struct ompi_communicator_t *comm,
136 mca_coll_base_module_t *module);
137
138 extern int mca_coll_monitoring_reduce_scatter_block(const void *sbuf, void *rbuf,
139 int rcount,
140 struct ompi_datatype_t *dtype,
141 struct ompi_op_t *op,
142 struct ompi_communicator_t *comm,
143 mca_coll_base_module_t *module);
144
145 extern int mca_coll_monitoring_scan(const void *sbuf, void *rbuf, int count,
146 struct ompi_datatype_t *dtype,
147 struct ompi_op_t *op,
148 struct ompi_communicator_t *comm,
149 mca_coll_base_module_t *module);
150
151 extern int mca_coll_monitoring_scatter(const void *sbuf, int scount,
152 struct ompi_datatype_t *sdtype,
153 void *rbuf, int rcount,
154 struct ompi_datatype_t *rdtype,
155 int root,
156 struct ompi_communicator_t *comm,
157 mca_coll_base_module_t *module);
158
159 extern int mca_coll_monitoring_scatterv(const void *sbuf, const int *scounts, const int *disps,
160 struct ompi_datatype_t *sdtype,
161 void *rbuf, int rcount,
162 struct ompi_datatype_t *rdtype,
163 int root,
164 struct ompi_communicator_t *comm,
165 mca_coll_base_module_t *module);
166
167
168 extern int mca_coll_monitoring_iallgather(const void *sbuf, int scount,
169 struct ompi_datatype_t *sdtype,
170 void *rbuf, int rcount,
171 struct ompi_datatype_t *rdtype,
172 struct ompi_communicator_t *comm,
173 ompi_request_t ** request,
174 mca_coll_base_module_t *module);
175
176 extern int mca_coll_monitoring_iallgatherv(const void *sbuf, int scount,
177 struct ompi_datatype_t *sdtype,
178 void *rbuf, const int *rcounts,
179 const int *disps,
180 struct ompi_datatype_t *rdtype,
181 struct ompi_communicator_t *comm,
182 ompi_request_t ** request,
183 mca_coll_base_module_t *module);
184
185 extern int mca_coll_monitoring_iallreduce(const void *sbuf, void *rbuf, int count,
186 struct ompi_datatype_t *dtype,
187 struct ompi_op_t *op,
188 struct ompi_communicator_t *comm,
189 ompi_request_t ** request,
190 mca_coll_base_module_t *module);
191
192 extern int mca_coll_monitoring_ialltoall(const void *sbuf, int scount,
193 struct ompi_datatype_t *sdtype,
194 void *rbuf, int rcount,
195 struct ompi_datatype_t *rdtype,
196 struct ompi_communicator_t *comm,
197 ompi_request_t ** request,
198 mca_coll_base_module_t *module);
199
200 extern int mca_coll_monitoring_ialltoallv(const void *sbuf, const int *scounts,
201 const int *sdisps,
202 struct ompi_datatype_t *sdtype,
203 void *rbuf, const int *rcounts,
204 const int *rdisps,
205 struct ompi_datatype_t *rdtype,
206 struct ompi_communicator_t *comm,
207 ompi_request_t ** request,
208 mca_coll_base_module_t *module);
209
210 extern int mca_coll_monitoring_ialltoallw(const void *sbuf, const int *scounts,
211 const int *sdisps,
212 struct ompi_datatype_t * const *sdtypes,
213 void *rbuf, const int *rcounts,
214 const int *rdisps,
215 struct ompi_datatype_t * const *rdtypes,
216 struct ompi_communicator_t *comm,
217 ompi_request_t ** request,
218 mca_coll_base_module_t *module);
219
220 extern int mca_coll_monitoring_ibarrier(struct ompi_communicator_t *comm,
221 ompi_request_t ** request,
222 mca_coll_base_module_t *module);
223
224 extern int mca_coll_monitoring_ibcast(void *buff, int count,
225 struct ompi_datatype_t *datatype,
226 int root,
227 struct ompi_communicator_t *comm,
228 ompi_request_t ** request,
229 mca_coll_base_module_t *module);
230
231 extern int mca_coll_monitoring_iexscan(const void *sbuf, void *rbuf, int count,
232 struct ompi_datatype_t *dtype,
233 struct ompi_op_t *op,
234 struct ompi_communicator_t *comm,
235 ompi_request_t ** request,
236 mca_coll_base_module_t *module);
237
238 extern int mca_coll_monitoring_igather(const void *sbuf, int scount,
239 struct ompi_datatype_t *sdtype,
240 void *rbuf, int rcount, struct ompi_datatype_t *rdtype,
241 int root, struct ompi_communicator_t *comm,
242 ompi_request_t ** request,
243 mca_coll_base_module_t *module);
244
245 extern int mca_coll_monitoring_igatherv(const void *sbuf, int scount,
246 struct ompi_datatype_t *sdtype,
247 void *rbuf, const int *rcounts, const int *disps,
248 struct ompi_datatype_t *rdtype,
249 int root,
250 struct ompi_communicator_t *comm,
251 ompi_request_t ** request,
252 mca_coll_base_module_t *module);
253
254 extern int mca_coll_monitoring_ireduce(const void *sbuf, void *rbuf, int count,
255 struct ompi_datatype_t *dtype,
256 struct ompi_op_t *op,
257 int root,
258 struct ompi_communicator_t *comm,
259 ompi_request_t ** request,
260 mca_coll_base_module_t *module);
261
262 extern int mca_coll_monitoring_ireduce_scatter(const void *sbuf, void *rbuf,
263 const int *rcounts,
264 struct ompi_datatype_t *dtype,
265 struct ompi_op_t *op,
266 struct ompi_communicator_t *comm,
267 ompi_request_t ** request,
268 mca_coll_base_module_t *module);
269
270 extern int mca_coll_monitoring_ireduce_scatter_block(const void *sbuf, void *rbuf,
271 int rcount,
272 struct ompi_datatype_t *dtype,
273 struct ompi_op_t *op,
274 struct ompi_communicator_t *comm,
275 ompi_request_t ** request,
276 mca_coll_base_module_t *module);
277
278 extern int mca_coll_monitoring_iscan(const void *sbuf, void *rbuf, int count,
279 struct ompi_datatype_t *dtype,
280 struct ompi_op_t *op,
281 struct ompi_communicator_t *comm,
282 ompi_request_t ** request,
283 mca_coll_base_module_t *module);
284
285 extern int mca_coll_monitoring_iscatter(const void *sbuf, int scount,
286 struct ompi_datatype_t *sdtype,
287 void *rbuf, int rcount,
288 struct ompi_datatype_t *rdtype,
289 int root,
290 struct ompi_communicator_t *comm,
291 ompi_request_t ** request,
292 mca_coll_base_module_t *module);
293
294 extern int mca_coll_monitoring_iscatterv(const void *sbuf, const int *scounts, const int *disps,
295 struct ompi_datatype_t *sdtype,
296 void *rbuf, int rcount,
297 struct ompi_datatype_t *rdtype,
298 int root,
299 struct ompi_communicator_t *comm,
300 ompi_request_t ** request,
301 mca_coll_base_module_t *module);
302
303
304 extern int mca_coll_monitoring_neighbor_allgather(const void *sbuf, int scount,
305 struct ompi_datatype_t *sdtype, void *rbuf,
306 int rcount, struct ompi_datatype_t *rdtype,
307 struct ompi_communicator_t *comm,
308 mca_coll_base_module_t *module);
309
310 extern int mca_coll_monitoring_neighbor_allgatherv(const void *sbuf, int scount,
311 struct ompi_datatype_t *sdtype, void * rbuf,
312 const int *rcounts, const int *disps,
313 struct ompi_datatype_t *rdtype,
314 struct ompi_communicator_t *comm,
315 mca_coll_base_module_t *module);
316
317 extern int mca_coll_monitoring_neighbor_alltoall(const void *sbuf, int scount,
318 struct ompi_datatype_t *sdtype,
319 void *rbuf, int rcount,
320 struct ompi_datatype_t *rdtype,
321 struct ompi_communicator_t *comm,
322 mca_coll_base_module_t *module);
323
324 extern int mca_coll_monitoring_neighbor_alltoallv(const void *sbuf, const int *scounts,
325 const int *sdisps,
326 struct ompi_datatype_t *sdtype,
327 void *rbuf, const int *rcounts,
328 const int *rdisps,
329 struct ompi_datatype_t *rdtype,
330 struct ompi_communicator_t *comm,
331 mca_coll_base_module_t *module);
332
333 extern int mca_coll_monitoring_neighbor_alltoallw(const void *sbuf, const int *scounts,
334 const MPI_Aint *sdisps,
335 struct ompi_datatype_t * const *sdtypes,
336 void *rbuf, const int *rcounts,
337 const MPI_Aint *rdisps,
338 struct ompi_datatype_t * const *rdtypes,
339 struct ompi_communicator_t *comm,
340 mca_coll_base_module_t *module);
341
342 extern int mca_coll_monitoring_ineighbor_allgather(const void *sbuf, int scount,
343 struct ompi_datatype_t *sdtype, void *rbuf,
344 int rcount, struct ompi_datatype_t *rdtype,
345 struct ompi_communicator_t *comm,
346 ompi_request_t ** request,
347 mca_coll_base_module_t *module);
348
349 extern int mca_coll_monitoring_ineighbor_allgatherv(const void *sbuf, int scount,
350 struct ompi_datatype_t *sdtype,
351 void * rbuf, const int *rcounts,
352 const int *disps,
353 struct ompi_datatype_t *rdtype,
354 struct ompi_communicator_t *comm,
355 ompi_request_t ** request,
356 mca_coll_base_module_t *module);
357
358 extern int mca_coll_monitoring_ineighbor_alltoall(const void *sbuf, int scount,
359 struct ompi_datatype_t *sdtype, void *rbuf,
360 int rcount, struct ompi_datatype_t *rdtype,
361 struct ompi_communicator_t *comm,
362 ompi_request_t ** request,
363 mca_coll_base_module_t *module);
364
365 extern int mca_coll_monitoring_ineighbor_alltoallv(const void *sbuf, const int *scounts,
366 const int *sdisps,
367 struct ompi_datatype_t *sdtype,
368 void *rbuf, const int *rcounts,
369 const int *rdisps,
370 struct ompi_datatype_t *rdtype,
371 struct ompi_communicator_t *comm,
372 ompi_request_t ** request,
373 mca_coll_base_module_t *module);
374
375 extern int mca_coll_monitoring_ineighbor_alltoallw(const void *sbuf, const int *scounts,
376 const MPI_Aint *sdisps,
377 struct ompi_datatype_t * const *sdtypes,
378 void *rbuf, const int *rcounts,
379 const MPI_Aint *rdisps,
380 struct ompi_datatype_t * const *rdtypes,
381 struct ompi_communicator_t *comm,
382 ompi_request_t ** request,
383 mca_coll_base_module_t *module);
384
385 END_C_DECLS
386
387 #endif