OpenMPI 0.1.1

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

- File List
- Globals

coll_demo.h
1 /*
2 * Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 * Copyright (c) 2004-2005 The University of Tennessee and The University
6 * of Tennessee Research Foundation. All rights
7 * reserved.
8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9 * University of Stuttgart. All rights reserved.
10 * Copyright (c) 2004-2005 The Regents of the University of California.
11 * All rights reserved.
12 * Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
13 * $COPYRIGHT$
14 *
15 * Additional copyrights may follow
16 *
17 * $HEADER$
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 "opal/mca/mca.h"
27 #include "ompi/mca/coll/coll.h"
28
29 BEGIN_C_DECLS
30
31 /* Globally exported variables */
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_param;
35 extern int mca_coll_demo_verbose_param;
36 extern int mca_coll_demo_verbose;
37
38
39 /* Component functions */
40
41 int mca_coll_demo_init_query(bool enable_progress_threads,
42 bool enable_mpi_threads);
43 mca_coll_base_module_t *
44 mca_coll_demo_comm_query(struct ompi_communicator_t *comm, int *priority);
45
46 /* Module functions */
47
48 int mca_coll_demo_module_enable(mca_coll_base_module_t *module,
49 struct ompi_communicator_t *comm);
50
51 int mca_coll_demo_allgather_intra(void *sbuf, int scount,
52 struct ompi_datatype_t *sdtype,
53 void *rbuf, int rcount,
54 struct ompi_datatype_t *rdtype,
55 struct ompi_communicator_t *comm,
56 mca_coll_base_module_t *module);
57 int mca_coll_demo_allgather_inter(void *sbuf, int scount,
58 struct ompi_datatype_t *sdtype,
59 void *rbuf, int rcount,
60 struct ompi_datatype_t *rdtype,
61 struct ompi_communicator_t *comm,
62 mca_coll_base_module_t *module);
63
64 int mca_coll_demo_allgatherv_intra(void *sbuf, int scount,
65 struct ompi_datatype_t *sdtype,
66 void * rbuf, int *rcounts, int *disps,
67 struct ompi_datatype_t *rdtype,
68 struct ompi_communicator_t *comm,
69 mca_coll_base_module_t *module);
70 int mca_coll_demo_allgatherv_inter(void *sbuf, int scount,
71 struct ompi_datatype_t *sdtype,
72 void * rbuf, int *rcounts, int *disps,
73 struct ompi_datatype_t *rdtype,
74 struct ompi_communicator_t *comm,
75 mca_coll_base_module_t *module);
76
77 int mca_coll_demo_allreduce_intra(void *sbuf, void *rbuf, int count,
78 struct ompi_datatype_t *dtype,
79 struct ompi_op_t *op,
80 struct ompi_communicator_t *comm,
81 mca_coll_base_module_t *module);
82 int mca_coll_demo_allreduce_inter(void *sbuf, void *rbuf, int count,
83 struct ompi_datatype_t *dtype,
84 struct ompi_op_t *op,
85 struct ompi_communicator_t *comm,
86 mca_coll_base_module_t *module);
87
88 int mca_coll_demo_alltoall_intra(void *sbuf, int scount,
89 struct ompi_datatype_t *sdtype,
90 void* rbuf, int rcount,
91 struct ompi_datatype_t *rdtype,
92 struct ompi_communicator_t *comm,
93 mca_coll_base_module_t *module);
94 int mca_coll_demo_alltoall_inter(void *sbuf, int scount,
95 struct ompi_datatype_t *sdtype,
96 void* rbuf, int rcount,
97 struct ompi_datatype_t *rdtype,
98 struct ompi_communicator_t *comm,
99 mca_coll_base_module_t *module);
100
101 int mca_coll_demo_alltoallv_intra(void *sbuf, int *scounts, int *sdisps,
102 struct ompi_datatype_t *sdtype,
103 void *rbuf, int *rcounts, int *rdisps,
104 struct ompi_datatype_t *rdtype,
105 struct ompi_communicator_t *comm,
106 mca_coll_base_module_t *module);
107 int mca_coll_demo_alltoallv_inter(void *sbuf, int *scounts, int *sdisps,
108 struct ompi_datatype_t *sdtype,
109 void *rbuf, int *rcounts, int *rdisps,
110 struct ompi_datatype_t *rdtype,
111 struct ompi_communicator_t *comm,
112 mca_coll_base_module_t *module);
113
114 int mca_coll_demo_alltoallw_intra(void *sbuf, int *scounts, int *sdisps,
115 struct ompi_datatype_t **sdtypes,
116 void *rbuf, int *rcounts, int *rdisps,
117 struct ompi_datatype_t **rdtypes,
118 struct ompi_communicator_t *comm,
119 mca_coll_base_module_t *module);
120 int mca_coll_demo_alltoallw_inter(void *sbuf, int *scounts, int *sdisps,
121 struct ompi_datatype_t **sdtypes,
122 void *rbuf, int *rcounts, int *rdisps,
123 struct ompi_datatype_t **rdtypes,
124 struct ompi_communicator_t *comm,
125 mca_coll_base_module_t *module);
126
127 int mca_coll_demo_barrier_intra(struct ompi_communicator_t *comm,
128 mca_coll_base_module_t *module);
129 int mca_coll_demo_barrier_inter(struct ompi_communicator_t *comm,
130 mca_coll_base_module_t *module);
131
132 int mca_coll_demo_bcast_intra(void *buff, int count,
133 struct ompi_datatype_t *datatype,
134 int root,
135 struct ompi_communicator_t *comm,
136 mca_coll_base_module_t *module);
137 int mca_coll_demo_bcast_inter(void *buff, int count,
138 struct ompi_datatype_t *datatype,
139 int root,
140 struct ompi_communicator_t *comm,
141 mca_coll_base_module_t *module);
142
143 int mca_coll_demo_exscan_intra(void *sbuf, void *rbuf, int count,
144 struct ompi_datatype_t *dtype,
145 struct ompi_op_t *op,
146 struct ompi_communicator_t *comm,
147 mca_coll_base_module_t *module);
148 int mca_coll_demo_exscan_inter(void *sbuf, void *rbuf, int count,
149 struct ompi_datatype_t *dtype,
150 struct ompi_op_t *op,
151 struct ompi_communicator_t *comm,
152 mca_coll_base_module_t *module);
153
154 int mca_coll_demo_gather_intra(void *sbuf, int scount,
155 struct ompi_datatype_t *sdtype, void *rbuf,
156 int rcount, struct ompi_datatype_t *rdtype,
157 int root, struct ompi_communicator_t *comm,
158 mca_coll_base_module_t *module);
159 int mca_coll_demo_gather_inter(void *sbuf, int scount,
160 struct ompi_datatype_t *sdtype, void *rbuf,
161 int rcount, struct ompi_datatype_t *rdtype,
162 int root, struct ompi_communicator_t *comm,
163 mca_coll_base_module_t *module);
164
165 int mca_coll_demo_gatherv_intra(void *sbuf, int scount,
166 struct ompi_datatype_t *sdtype, void *rbuf,
167 int *rcounts, int *disps,
168 struct ompi_datatype_t *rdtype, int root,
169 struct ompi_communicator_t *comm,
170 mca_coll_base_module_t *module);
171 int mca_coll_demo_gatherv_inter(void *sbuf, int scount,
172 struct ompi_datatype_t *sdtype, void *rbuf,
173 int *rcounts, int *disps,
174 struct ompi_datatype_t *rdtype, int root,
175 struct ompi_communicator_t *comm,
176 mca_coll_base_module_t *module);
177
178 int mca_coll_demo_reduce_intra(void *sbuf, void* rbuf, int count,
179 struct ompi_datatype_t *dtype,
180 struct ompi_op_t *op,
181 int root,
182 struct ompi_communicator_t *comm,
183 mca_coll_base_module_t *module);
184 int mca_coll_demo_reduce_inter(void *sbuf, void* rbuf, int count,
185 struct ompi_datatype_t *dtype,
186 struct ompi_op_t *op,
187 int root,
188 struct ompi_communicator_t *comm,
189 mca_coll_base_module_t *module);
190
191 int mca_coll_demo_reduce_scatter_intra(void *sbuf, void *rbuf,
192 int *rcounts,
193 struct ompi_datatype_t *dtype,
194 struct ompi_op_t *op,
195 struct ompi_communicator_t *comm,
196 mca_coll_base_module_t *module);
197 int mca_coll_demo_reduce_scatter_inter(void *sbuf, void *rbuf,
198 int *rcounts,
199 struct ompi_datatype_t *dtype,
200 struct ompi_op_t *op,
201 struct ompi_communicator_t *comm,
202 mca_coll_base_module_t *module);
203
204 int mca_coll_demo_scan_intra(void *sbuf, void *rbuf, int count,
205 struct ompi_datatype_t *dtype,
206 struct ompi_op_t *op,
207 struct ompi_communicator_t *comm,
208 mca_coll_base_module_t *module);
209 int mca_coll_demo_scan_inter(void *sbuf, void *rbuf, int count,
210 struct ompi_datatype_t *dtype,
211 struct ompi_op_t *op,
212 struct ompi_communicator_t *comm,
213 mca_coll_base_module_t *module);
214
215 int mca_coll_demo_scatter_intra(void *sbuf, int scount,
216 struct ompi_datatype_t *sdtype, void *rbuf,
217 int rcount, struct ompi_datatype_t *rdtype,
218 int root, struct ompi_communicator_t *comm,
219 mca_coll_base_module_t *module);
220 int mca_coll_demo_scatter_inter(void *sbuf, int scount,
221 struct ompi_datatype_t *sdtype, void *rbuf,
222 int rcount, struct ompi_datatype_t *rdtype,
223 int root, struct ompi_communicator_t *comm,
224 mca_coll_base_module_t *module);
225
226 int mca_coll_demo_scatterv_intra(void *sbuf, int *scounts, int *disps,
227 struct ompi_datatype_t *sdtype,
228 void* rbuf, int rcount,
229 struct ompi_datatype_t *rdtype, int root,
230 struct ompi_communicator_t *comm,
231 mca_coll_base_module_t *module);
232 int mca_coll_demo_scatterv_inter(void *sbuf, int *scounts, int *disps,
233 struct ompi_datatype_t *sdtype,
234 void* rbuf, int rcount,
235 struct ompi_datatype_t *rdtype, int root,
236 struct ompi_communicator_t *comm,
237 mca_coll_base_module_t *module);
238
239 int mca_coll_demo_ft_event(int status);
240
241
242 struct mca_coll_demo_module_t {
243 mca_coll_base_module_t super;
244
245 mca_coll_base_comm_coll_t underlying;
246 };
247 typedef struct mca_coll_demo_module_t mca_coll_demo_module_t;
248 OBJ_CLASS_DECLARATION(mca_coll_demo_module_t);
249
250
251 END_C_DECLS
252
253 #endif /* MCA_COLL_DEMO_EXPORT_H */
mca_coll_base_module_2_0_0_t
Collective module interface.
Definition: coll.h:316
ompi_datatype_t
Definition: ompi_datatype.h:68
mca_coll_base_component_2_0_0_t
Collective component interface.
Definition: coll.h:283
mca.h
Top-level interface for all MCA components.
coll.h
Collective Communication Interface.
mca_coll_demo_module_t
Definition: coll_demo.h:242
ompi_communicator_t
Definition: communicator.h:118
ompi_op_t
Back-end type of MPI_Op.
Definition: op.h:100
mca_coll_base_comm_coll_t
Collectives communicator cache structure.
Definition: coll.h:367
OBJ_CLASS_DECLARATION
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236