1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #ifndef MCA_COLL_INTER_EXPORT_H
24 #define MCA_COLL_INTER_EXPORT_H
25
26 #define mca_coll_inter_crossover 1
27 #include "ompi_config.h"
28
29 #include "mpi.h"
30 #include "ompi/mca/mca.h"
31 #include "ompi/mca/coll/coll.h"
32 #include "ompi/communicator/communicator.h"
33
34 BEGIN_C_DECLS
35
36
37
38
39
40 OMPI_MODULE_DECLSPEC extern const mca_coll_base_component_2_0_0_t mca_coll_inter_component;
41 extern int mca_coll_inter_priority_param;
42 extern int mca_coll_inter_verbose_param;
43
44
45
46
47
48 int mca_coll_inter_init_query(bool allow_inter_user_threads,
49 bool have_hidden_threads);
50 mca_coll_base_module_t *
51 mca_coll_inter_comm_query(struct ompi_communicator_t *comm, int *priority);
52
53 int mca_coll_inter_module_enable(mca_coll_base_module_t *module,
54 struct ompi_communicator_t *comm);
55
56 int mca_coll_inter_allgather_inter(const 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 int mca_coll_inter_allgatherv_inter(const void *sbuf, int scount,
63 struct ompi_datatype_t *sdtype,
64 void *rbuf, const int *rcounts, const int *disps,
65 struct ompi_datatype_t *rdtype,
66 struct ompi_communicator_t *comm,
67 mca_coll_base_module_t *module);
68 int mca_coll_inter_allreduce_inter(const void *sbuf, void *rbuf, int count,
69 struct ompi_datatype_t *dtype,
70 struct ompi_op_t *op,
71 struct ompi_communicator_t *comm,
72 mca_coll_base_module_t *module);
73 int mca_coll_inter_bcast_inter(void *buff, int count,
74 struct ompi_datatype_t *datatype,
75 int root,
76 struct ompi_communicator_t *comm,
77 mca_coll_base_module_t *module);
78 int mca_coll_inter_gather_inter(const void *sbuf, int scount,
79 struct ompi_datatype_t *sdtype,
80 void *rbuf, int rcount,
81 struct ompi_datatype_t *rdtype,
82 int root,
83 struct ompi_communicator_t *comm,
84 mca_coll_base_module_t *module);
85 int mca_coll_inter_gatherv_inter(const void *sbuf, int scount,
86 struct ompi_datatype_t *sdtype,
87 void *rbuf, const int *rcounts, const int *disps,
88 struct ompi_datatype_t *rdtype,
89 int root,
90 struct ompi_communicator_t *comm,
91 mca_coll_base_module_t *module);
92 int mca_coll_inter_reduce_inter(const void *sbuf, void* rbuf, int count,
93 struct ompi_datatype_t *dtype,
94 struct ompi_op_t *op,
95 int root,
96 struct ompi_communicator_t *comm,
97 mca_coll_base_module_t *module);
98 int mca_coll_inter_scatter_inter(const void *sbuf, int scount,
99 struct ompi_datatype_t *sdtype, void *rbuf,
100 int rcount, struct ompi_datatype_t *rdtype,
101 int root, struct ompi_communicator_t *comm,
102 mca_coll_base_module_t *module);
103 int mca_coll_inter_scatterv_inter(const void *sbuf, const int *scounts, const int *disps,
104 struct ompi_datatype_t *sdtype,
105 void* rbuf, int rcount,
106 struct ompi_datatype_t *rdtype, int root,
107 struct ompi_communicator_t *comm,
108 mca_coll_base_module_t *module);
109
110
111 struct mca_coll_inter_module_t {
112 mca_coll_base_module_t super;
113
114
115
116
117 struct ompi_communicator_t *inter_comm;
118 };
119 typedef struct mca_coll_inter_module_t mca_coll_inter_module_t;
120 OBJ_CLASS_DECLARATION(mca_coll_inter_module_t);
121
122
123 END_C_DECLS
124
125 #endif