14#include "arcane/utils/ArcanePrecomp.h"
16#include "arcane/utils/ArrayView.h"
17#include "arcane/utils/Iostream.h"
19#include "arcane/core/ParallelSuperMngDispatcher.h"
20#include "arcane/core/IParallelDispatch.h"
31ParallelSuperMngDispatcher::
32ParallelSuperMngDispatcher()
43ParallelSuperMngDispatcher::
44~ParallelSuperMngDispatcher()
55void ParallelSuperMngDispatcher::
56_setDispatchers(IParallelDispatchT<Byte>* c, IParallelDispatchT<Int32>* i32,
57 IParallelDispatchT<Int64>* i64, IParallelDispatchT<Real>* r)
68void ParallelSuperMngDispatcher::
84void ParallelSuperMngDispatcher::
85allGather(ByteConstArrayView send_buf, ByteArrayView recv_buf)
87 m_byte->allGather(send_buf, recv_buf);
89void ParallelSuperMngDispatcher::
90allGather(Int32ConstArrayView send_buf, Int32ArrayView recv_buf)
92 m_int32->allGather(send_buf, recv_buf);
94void ParallelSuperMngDispatcher::
95allGather(Int64ConstArrayView send_buf, Int64ArrayView recv_buf)
97 m_int64->allGather(send_buf, recv_buf);
99void ParallelSuperMngDispatcher::
100allGather(RealConstArrayView send_buf, RealArrayView recv_buf)
102 m_real->allGather(send_buf, recv_buf);
105Int32 ParallelSuperMngDispatcher::
106reduce(eReduceType rt, Int32 v)
108 return m_int32->allReduce(rt, v);
110Int64 ParallelSuperMngDispatcher::
111reduce(eReduceType rt, Int64 v)
113 return m_int64->allReduce(rt, v);
115Real ParallelSuperMngDispatcher::
116reduce(eReduceType rt, Real v)
118 return m_real->allReduce(rt, v);
121void ParallelSuperMngDispatcher::
122reduce(eReduceType rt, Int32ArrayView v)
124 m_int32->allReduce(rt, v);
126void ParallelSuperMngDispatcher::
127reduce(eReduceType rt, Int64ArrayView v)
129 m_int64->allReduce(rt, v);
131void ParallelSuperMngDispatcher::
132reduce(eReduceType rt, RealArrayView v)
134 m_real->allReduce(rt, v);
137void ParallelSuperMngDispatcher::
140 m_byte->broadcast(send_buf,
id);
142void ParallelSuperMngDispatcher::
145 m_int32->broadcast(send_buf,
id);
147void ParallelSuperMngDispatcher::
148broadcast(Int64ArrayView send_buf, Integer
id)
150 m_int64->broadcast(send_buf,
id);
152void ParallelSuperMngDispatcher::
153broadcast(RealArrayView send_buf, Integer
id)
155 m_real->broadcast(send_buf,
id);
158void ParallelSuperMngDispatcher::
159send(ByteConstArrayView values, Integer
id)
161 m_byte->send(values,
id);
163void ParallelSuperMngDispatcher::
164send(Int32ConstArrayView values, Integer
id)
166 m_int32->send(values,
id);
168void ParallelSuperMngDispatcher::
169send(Int64ConstArrayView values, Integer
id)
171 m_int64->send(values,
id);
173void ParallelSuperMngDispatcher::
174send(RealConstArrayView values, Integer
id)
176 m_real->send(values,
id);
179void ParallelSuperMngDispatcher::
180recv(ByteArrayView values, Integer
id)
182 m_byte->recv(values,
id);
184void ParallelSuperMngDispatcher::
185recv(Int32ArrayView values, Integer
id)
187 m_int32->recv(values,
id);
189void ParallelSuperMngDispatcher::
190recv(Int64ArrayView values, Integer
id)
192 m_int64->recv(values,
id);
194void ParallelSuperMngDispatcher::
195recv(RealArrayView values, Integer
id)
197 m_real->recv(values,
id);
200Parallel::Request ParallelSuperMngDispatcher::
201send(ByteConstArrayView values, Integer
id,
bool is_blocked)
203 return m_byte->send(values,
id, is_blocked);
205Parallel::Request ParallelSuperMngDispatcher::
206send(Int32ConstArrayView values, Integer
id,
bool is_blocked)
208 return m_int32->send(values,
id, is_blocked);
210Parallel::Request ParallelSuperMngDispatcher::
211send(Int64ConstArrayView values, Integer
id,
bool is_blocked)
213 return m_int64->send(values,
id, is_blocked);
215Parallel::Request ParallelSuperMngDispatcher::
216send(RealConstArrayView values, Integer
id,
bool is_blocked)
218 return m_real->send(values,
id, is_blocked);
221Parallel::Request ParallelSuperMngDispatcher::
222recv(ByteArrayView values, Integer
id,
bool is_blocked)
224 return m_byte->recv(values,
id, is_blocked);
226Parallel::Request ParallelSuperMngDispatcher::
227recv(Int32ArrayView values, Integer
id,
bool is_blocked)
229 return m_int32->recv(values,
id, is_blocked);
231Parallel::Request ParallelSuperMngDispatcher::
232recv(Int64ArrayView values, Integer
id,
bool is_blocked)
234 return m_int64->recv(values,
id, is_blocked);
236Parallel::Request ParallelSuperMngDispatcher::
237recv(RealArrayView values, Integer
id,
bool is_blocked)
239 return m_real->recv(values,
id, is_blocked);
242void ParallelSuperMngDispatcher::
243sendRecv(ByteConstArrayView send_buf, ByteArrayView recv_buf, Integer
id)
245 m_byte->sendRecv(send_buf, recv_buf,
id);
247void ParallelSuperMngDispatcher::
248sendRecv(Int32ConstArrayView send_buf, Int32ArrayView recv_buf, Integer
id)
250 m_int32->sendRecv(send_buf, recv_buf,
id);
252void ParallelSuperMngDispatcher::
253sendRecv(Int64ConstArrayView send_buf, Int64ArrayView recv_buf, Integer
id)
255 m_int64->sendRecv(send_buf, recv_buf,
id);
257void ParallelSuperMngDispatcher::
258sendRecv(RealConstArrayView send_buf, RealArrayView recv_buf, Integer
id)
260 m_real->sendRecv(send_buf, recv_buf,
id);
263void ParallelSuperMngDispatcher::
264allToAll(ByteConstArrayView send_buf, ByteArrayView recv_buf, Integer count)
266 m_byte->allToAll(send_buf, recv_buf, count);
268void ParallelSuperMngDispatcher::
269allToAll(Int32ConstArrayView send_buf, Int32ArrayView recv_buf, Integer count)
271 m_int32->allToAll(send_buf, recv_buf, count);
273void ParallelSuperMngDispatcher::
274allToAll(Int64ConstArrayView send_buf, Int64ArrayView recv_buf, Integer count)
276 m_int64->allToAll(send_buf, recv_buf, count);
278void ParallelSuperMngDispatcher::
279allToAll(RealConstArrayView send_buf, RealArrayView recv_buf, Integer count)
281 m_real->allToAll(send_buf, recv_buf, count);
284Int32 ParallelSuperMngDispatcher::
285scan(eReduceType rt, Int32 v)
287 return m_int32->scan(rt, v);
289Int64 ParallelSuperMngDispatcher::
290scan(eReduceType rt, Int64 v)
292 return m_int64->scan(rt, v);
294Real ParallelSuperMngDispatcher::
295scan(eReduceType rt, Real v)
297 return m_real->scan(rt, v);
300void ParallelSuperMngDispatcher::
301scan(eReduceType rt, Int32ArrayView v)
303 m_int32->scan(rt, v);
305void ParallelSuperMngDispatcher::
306scan(eReduceType rt, Int64ArrayView v)
308 m_int64->scan(rt, v);
310void ParallelSuperMngDispatcher::
311scan(eReduceType rt, RealArrayView v)
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
ArrayView< Byte > ByteArrayView
C equivalent of a 1D array of characters.
Int32 Integer
Type representing an integer.
ArrayView< Int32 > Int32ArrayView
C equivalent of a 1D array of 32-bit integers.