1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #ifndef MCA_COLL_DEMO_EXPORT_H
21 #define MCA_COLL_DEMO_EXPORT_H
22
23 #include "ompi_config.h"
24
25 #include "mpi.h"
26 #include "ompi/mca/mca.h"
27 #include "ompi/mca/coll/coll.h"
28
29 BEGIN_C_DECLS
30
31
32
33 OMPI_MODULE_DECLSPEC extern const mca_coll_base_component_2_0_0_t mca_coll_demo_component;
34 extern int mca_coll_demo_priority;
35 extern int mca_coll_demo_verbose;
36
37
38
39
40 int mca_coll_demo_init_query(bool enable_progress_threads,
41 bool enable_mpi_threads);
42 mca_coll_base_module_t *
43 mca_coll_demo_comm_query(struct ompi_communicator_t *comm, int *priority);
44
45
46
47 int mca_coll_demo_module_enable(mca_coll_base_module_t *module,
48 struct ompi_communicator_t *comm);
49
50 int mca_coll_demo_allgather_intra(void *sbuf, int scount,
51 struct ompi_datatype_t *sdtype,
52 void *rbuf, int rcount,
53 struct ompi_datatype_t *rdtype,
54 struct ompi_communicator_t *comm,
55 mca_coll_base_module_t *module);
56 int mca_coll_demo_allgather_inter(void *sbuf, int scount,
57 struct ompi_datatype_t *sdtype,
58 void *rbuf, int rcount,
59 struct ompi_datatype_t *rdtype,
60 struct ompi_communicator_t *comm,
61 mca_coll_base_module_t *module);
62
63 int mca_coll_demo_allgatherv_intra(void *sbuf, int scount,
64 struct ompi_datatype_t *sdtype,
65 void * rbuf, int *rcounts, int *disps,
66 struct ompi_datatype_t *rdtype,
67 struct ompi_communicator_t *comm,
68 mca_coll_base_module_t *module);
69 int mca_coll_demo_allgatherv_inter(void *sbuf, int scount,
70 struct ompi_datatype_t *sdtype,
71 void * rbuf, int *rcounts, int *disps,
72 struct ompi_datatype_t *rdtype,
73 struct ompi_communicator_t *comm,
74 mca_coll_base_module_t *module);
75
76 int mca_coll_demo_allreduce_intra(void *sbuf, void *rbuf, int count,
77 struct ompi_datatype_t *dtype,
78 struct ompi_op_t *op,
79 struct ompi_communicator_t *comm,
80 mca_coll_base_module_t *module);
81 int mca_coll_demo_allreduce_inter(void *sbuf, void *rbuf, int count,
82 struct ompi_datatype_t *dtype,
83 struct ompi_op_t *op,
84 struct ompi_communicator_t *comm,
85 mca_coll_base_module_t *module);
86
87 int mca_coll_demo_alltoall_intra(void *sbuf, int scount,
88 struct ompi_datatype_t *sdtype,
89 void* rbuf, int rcount,
90 struct ompi_datatype_t *rdtype,
91 struct ompi_communicator_t *comm,
92 mca_coll_base_module_t *module);
93 int mca_coll_demo_alltoall_inter(void *sbuf, int scount,
94 struct ompi_datatype_t *sdtype,
95 void* rbuf, int rcount,
96 struct ompi_datatype_t *rdtype,
97 struct ompi_communicator_t *comm,
98 mca_coll_base_module_t *module);
99
100 int mca_coll_demo_alltoallv_intra(void *sbuf, int *scounts, int *sdisps,
101 struct ompi_datatype_t *sdtype,
102 void *rbuf, int *rcounts, int *rdisps,
103 struct ompi_datatype_t *rdtype,
104 struct ompi_communicator_t *comm,
105 mca_coll_base_module_t *module);
106 int mca_coll_demo_alltoallv_inter(void *sbuf, int *scounts, int *sdisps,
107 struct ompi_datatype_t *sdtype,
108 void *rbuf, int *rcounts, int *rdisps,
109 struct ompi_datatype_t *rdtype,
110 struct ompi_communicator_t *comm,
111 mca_coll_base_module_t *module);
112
113 int mca_coll_demo_alltoallw_intra(void *sbuf, int *scounts, int *sdisps,
114 struct ompi_datatype_t **sdtypes,
115 void *rbuf, int *rcounts, int *rdisps,
116 struct ompi_datatype_t **rdtypes,
117 struct ompi_communicator_t *comm,
118 mca_coll_base_module_t *module);
119 int mca_coll_demo_alltoallw_inter(void *sbuf, int *scounts, int *sdisps,
120 struct ompi_datatype_t **sdtypes,
121 void *rbuf, int *rcounts, int *rdisps,
122 struct ompi_datatype_t **rdtypes,
123 struct ompi_communicator_t *comm,
124 mca_coll_base_module_t *module);
125
126 int mca_coll_demo_barrier_intra(struct ompi_communicator_t *comm,
127 mca_coll_base_module_t *module);
128 int mca_coll_demo_barrier_inter(struct ompi_communicator_t *comm,
129 mca_coll_base_module_t *module);
130
131 int mca_coll_demo_bcast_intra(void *buff, int count,
132 struct ompi_datatype_t *datatype,
133 int root,
134 struct ompi_communicator_t *comm,
135 mca_coll_base_module_t *module);
136 int mca_coll_demo_bcast_inter(void *buff, int count,
137 struct ompi_datatype_t *datatype,
138 int root,
139 struct ompi_communicator_t *comm,
140 mca_coll_base_module_t *module);
141
142 int mca_coll_demo_exscan_intra(void *sbuf, void *rbuf, int count,
143 struct ompi_datatype_t *dtype,
144 struct ompi_op_t *op,
145 struct ompi_communicator_t *comm,
146 mca_coll_base_module_t *module);
147 int mca_coll_demo_exscan_inter(void *sbuf, void *rbuf, int count,
148 struct ompi_datatype_t *dtype,
149 struct ompi_op_t *op,
150 struct ompi_communicator_t *comm,
151 mca_coll_base_module_t *module);
152
153 int mca_coll_demo_gather_intra(void *sbuf, int scount,
154 struct ompi_datatype_t *sdtype, void *rbuf,
155 int rcount, struct ompi_datatype_t *rdtype,
156 int root, struct ompi_communicator_t *comm,
157 mca_coll_base_module_t *module);
158 int mca_coll_demo_gather_inter(void *sbuf, int scount,
159 struct ompi_datatype_t *sdtype, void *rbuf,
160 int rcount, struct ompi_datatype_t *rdtype,
161 int root, struct ompi_communicator_t *comm,
162 mca_coll_base_module_t *module);
163
164 int mca_coll_demo_gatherv_intra(void *sbuf, int scount,
165 struct ompi_datatype_t *sdtype, void *rbuf,
166 int *rcounts, int *disps,
167 struct ompi_datatype_t *rdtype, int root,
168 struct ompi_communicator_t *comm,
169 mca_coll_base_module_t *module);
170 int mca_coll_demo_gatherv_inter(void *sbuf, int scount,
171 struct ompi_datatype_t *sdtype, void *rbuf,
172 int *rcounts, int *disps,
173 struct ompi_datatype_t *rdtype, int root,
174 struct ompi_communicator_t *comm,
175 mca_coll_base_module_t *module);
176
177 int mca_coll_demo_reduce_intra(void *sbuf, void* rbuf, int count,
178 struct ompi_datatype_t *dtype,
179 struct ompi_op_t *op,
180 int root,
181 struct ompi_communicator_t *comm,
182 mca_coll_base_module_t *module);
183 int mca_coll_demo_reduce_inter(void *sbuf, void* rbuf, int count,
184 struct ompi_datatype_t *dtype,
185 struct ompi_op_t *op,
186 int root,
187 struct ompi_communicator_t *comm,
188 mca_coll_base_module_t *module);
189
190 int mca_coll_demo_reduce_scatter_intra(void *sbuf, void *rbuf,
191 int *rcounts,
192 struct ompi_datatype_t *dtype,
193 struct ompi_op_t *op,
194 struct ompi_communicator_t *comm,
195 mca_coll_base_module_t *module);
196 int mca_coll_demo_reduce_scatter_inter(void *sbuf, void *rbuf,
197 int *rcounts,
198 struct ompi_datatype_t *dtype,
199 struct ompi_op_t *op,
200 struct ompi_communicator_t *comm,
201 mca_coll_base_module_t *module);
202
203 int mca_coll_demo_scan_intra(void *sbuf, void *rbuf, int count,
204 struct ompi_datatype_t *dtype,
205 struct ompi_op_t *op,
206 struct ompi_communicator_t *comm,
207 mca_coll_base_module_t *module);
208 int mca_coll_demo_scan_inter(void *sbuf, void *rbuf, int count,
209 struct ompi_datatype_t *dtype,
210 struct ompi_op_t *op,
211 struct ompi_communicator_t *comm,
212 mca_coll_base_module_t *module);
213
214 int mca_coll_demo_scatter_intra(void *sbuf, int scount,
215 struct ompi_datatype_t *sdtype, void *rbuf,
216 int rcount, struct ompi_datatype_t *rdtype,
217 int root, struct ompi_communicator_t *comm,
218 mca_coll_base_module_t *module);
219 int mca_coll_demo_scatter_inter(void *sbuf, int scount,
220 struct ompi_datatype_t *sdtype, void *rbuf,
221 int rcount, struct ompi_datatype_t *rdtype,
222 int root, struct ompi_communicator_t *comm,
223 mca_coll_base_module_t *module);
224
225 int mca_coll_demo_scatterv_intra(void *sbuf, int *scounts, int *disps,
226 struct ompi_datatype_t *sdtype,
227 void* rbuf, int rcount,
228 struct ompi_datatype_t *rdtype, int root,
229 struct ompi_communicator_t *comm,
230 mca_coll_base_module_t *module);
231 int mca_coll_demo_scatterv_inter(void *sbuf, int *scounts, int *disps,
232 struct ompi_datatype_t *sdtype,
233 void* rbuf, int rcount,
234 struct ompi_datatype_t *rdtype, int root,
235 struct ompi_communicator_t *comm,
236 mca_coll_base_module_t *module);
237
238 int mca_coll_demo_ft_event(int status);
239
240
241 struct mca_coll_demo_module_t {
242 mca_coll_base_module_t super;
243
244 mca_coll_base_comm_coll_t underlying;
245 };
246 typedef struct mca_coll_demo_module_t mca_coll_demo_module_t;
247 OBJ_CLASS_DECLARATION(mca_coll_demo_module_t);
248
249
250 END_C_DECLS
251
252 #endif