1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #ifndef MCA_COLL_SELF_EXPORT_H
23 #define MCA_COLL_SELF_EXPORT_H
24
25 #include "ompi_config.h"
26
27 #include "mpi.h"
28 #include "ompi/mca/mca.h"
29 #include "ompi/mca/coll/coll.h"
30 #include "ompi/request/request.h"
31
32 BEGIN_C_DECLS
33
34
35
36
37
38 OMPI_MODULE_DECLSPEC extern const mca_coll_base_component_2_0_0_t mca_coll_self_component;
39 extern int ompi_coll_self_priority;
40
41
42
43
44
45
46
47
48 int mca_coll_self_init_query(bool enable_progress_threads,
49 bool enable_mpi_threads);
50 mca_coll_base_module_t *
51 mca_coll_self_comm_query(struct ompi_communicator_t *comm, int *priority);
52
53 int mca_coll_self_module_enable(mca_coll_base_module_t *module,
54 struct ompi_communicator_t *comm);
55
56 int mca_coll_self_allgather_intra(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_self_allgatherv_intra(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_self_allreduce_intra(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_self_alltoall_intra(const void *sbuf, int scount,
74 struct ompi_datatype_t *sdtype,
75 void* rbuf, int rcount,
76 struct ompi_datatype_t *rdtype,
77 struct ompi_communicator_t *comm,
78 mca_coll_base_module_t *module);
79 int mca_coll_self_alltoallv_intra(const void *sbuf, const int *scounts, const int *sdisps,
80 struct ompi_datatype_t *sdtype,
81 void *rbuf, const int *rcounts, const int *rdisps,
82 struct ompi_datatype_t *rdtype,
83 struct ompi_communicator_t *comm,
84 mca_coll_base_module_t *module);
85 int mca_coll_self_alltoallw_intra(const void *sbuf, const int *scounts, const int *sdisps,
86 struct ompi_datatype_t * const *sdtypes,
87 void *rbuf, const int *rcounts, const int *rdisps,
88 struct ompi_datatype_t * const *rdtypes,
89 struct ompi_communicator_t *comm,
90 mca_coll_base_module_t *module);
91 int mca_coll_self_barrier_intra(struct ompi_communicator_t *comm,
92 mca_coll_base_module_t *module);
93 int mca_coll_self_bcast_intra(void *buff, int count,
94 struct ompi_datatype_t *datatype,
95 int root,
96 struct ompi_communicator_t *comm,
97 mca_coll_base_module_t *module);
98 int mca_coll_self_exscan_intra(const void *sbuf, void *rbuf, int count,
99 struct ompi_datatype_t *dtype,
100 struct ompi_op_t *op,
101 struct ompi_communicator_t *comm,
102 mca_coll_base_module_t *module);
103 int mca_coll_self_gather_intra(const void *sbuf, int scount,
104 struct ompi_datatype_t *sdtype, void *rbuf,
105 int rcount, struct ompi_datatype_t *rdtype,
106 int root, struct ompi_communicator_t *comm,
107 mca_coll_base_module_t *module);
108 int mca_coll_self_gatherv_intra(const void *sbuf, int scount,
109 struct ompi_datatype_t *sdtype, void *rbuf,
110 const int *rcounts, const int *disps,
111 struct ompi_datatype_t *rdtype, int root,
112 struct ompi_communicator_t *comm,
113 mca_coll_base_module_t *module);
114 int mca_coll_self_reduce_intra(const void *sbuf, void* rbuf, int count,
115 struct ompi_datatype_t *dtype,
116 struct ompi_op_t *op,
117 int root,
118 struct ompi_communicator_t *comm,
119 mca_coll_base_module_t *module);
120 int mca_coll_self_reduce_scatter_intra(const void *sbuf, void *rbuf,
121 const int *rcounts,
122 struct ompi_datatype_t *dtype,
123 struct ompi_op_t *op,
124 struct ompi_communicator_t *comm,
125 mca_coll_base_module_t *module);
126 int mca_coll_self_scan_intra(const void *sbuf, void *rbuf, int count,
127 struct ompi_datatype_t *dtype,
128 struct ompi_op_t *op,
129 struct ompi_communicator_t *comm,
130 mca_coll_base_module_t *module);
131 int mca_coll_self_scatter_intra(const void *sbuf, int scount,
132 struct ompi_datatype_t *sdtype, void *rbuf,
133 int rcount, struct ompi_datatype_t *rdtype,
134 int root, struct ompi_communicator_t *comm,
135 mca_coll_base_module_t *module);
136 int mca_coll_self_scatterv_intra(const void *sbuf, const int *scounts, const int *disps,
137 struct ompi_datatype_t *sdtype,
138 void* rbuf, int rcount,
139 struct ompi_datatype_t *rdtype, int root,
140 struct ompi_communicator_t *comm,
141 mca_coll_base_module_t *module);
142
143 int mca_coll_self_ft_event(int state);
144
145
146 struct mca_coll_self_module_t {
147 mca_coll_base_module_t super;
148 };
149 typedef struct mca_coll_self_module_t mca_coll_self_module_t;
150 OBJ_CLASS_DECLARATION(mca_coll_self_module_t);
151
152
153 END_C_DECLS
154
155 #endif