OpenMPI  0.1.1
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);
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 
244 
245  mca_coll_base_comm_coll_t underlying;
246 };
249 
250 
251 END_C_DECLS
252 
253 #endif /* MCA_COLL_DEMO_EXPORT_H */
Collective module interface.
Definition: coll.h:316
Definition: ompi_datatype.h:68
Collective component interface.
Definition: coll.h:283
Top-level interface for all MCA components.
Collective Communication Interface.
Definition: coll_demo.h:242
Definition: communicator.h:118
Back-end type of MPI_Op.
Definition: op.h:100
Collectives communicator cache structure.
Definition: coll.h:367
#define OBJ_CLASS_DECLARATION(NAME)
Declaration for class descriptor.
Definition: opal_object.h:236